DM-47646: Rework Gafaelfawr schema management #1152
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Make Gafaelfawr's schema management match the new recommended practices in Safir, including a stack of schema migrations that create the database from scratch. This means that direct upgrades from versions earlier than 10.0.0 are no longer supported, since they will attempt to recreate the schema unless one carefully uses
alembic stamp
first. Document that.Change the name of the SQLAlchemy declarative base to
SchemaBase
, matching the Safir documentation.Switch to the Safir method of checking for unexpected schema changes, which is much simpler than the previous approach and doesn't require keeping around old copies of the schema.
Point to the Safir documentation for how to make schema migrations rather than duplicating that documentation here.