Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: First pass at documenting schema evolution features #1259

Merged
merged 7 commits into from
Nov 6, 2023

Conversation

psFried
Copy link
Member

@psFried psFried commented Oct 25, 2023

Updates some existing concepts pages to add docs on new schema evolution features. Also adds a new concepts page on evolutions, and a new guide outlining how to handle some common schema evolution scenarios.

Keeping this as a draft for now, so we can look at the preview and iterate.


This change is Reviewable

Updates some existing concepts pages to add docs on new schema evolution features.
Also adds a new concepts page on evolutions, and a new guide outlining how to handle
some common schema evolution scenarios.
@github-actions
Copy link

github-actions bot commented Oct 26, 2023

PR Preview Action v1.4.4
Preview removed because the pull request was closed.
2023-11-06 20:18 UTC

* **In the Flow web app,** [edit the materialization](./edit-data-flows.md#edit-a-materialization), find the affected binding, and click **Show Fields**.
* **Using flowctl,** add the field to `fields.include` in the materialization specification as shown [here](../concepts/materialization.md#projected-fields).

### A field's data type has changed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@psFried would the UI show that schema evolution dialog option (like with the changed key & projections) in this case?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically, it depends on whether or not the connector permits the change. If the connector says it's OK, then we won't show any errors or an evolution dialog. But if the connector rejects the change, then we will. It can be a little nuanced, but some general guidelines are:

  • materializations to S3 or webhooks will generally tolerate most any change
  • database materializations will generally reject most changes to materialized columns, except for dropping NOT NULL constraints
  • If a given field isn't part of the field selection, then any change will be allowed by the connector (even if it's not a good idea for other reasons)

But yeah, probably the most common scenario would be that changing a field type would result in the UI showing the schema evolution dialog.

@oliviamiannone oliviamiannone marked this pull request as ready for review November 6, 2023 20:16
@oliviamiannone oliviamiannone merged commit c03c3d9 into master Nov 6, 2023
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants