24 lines
1.2 KiB
YAML
24 lines
1.2 KiB
YAML
---
|
|
upgrade:
|
|
- |
|
|
The database migration engine has changed from `sqlalchemy-migrate`__ to
|
|
`alembic`__. For most deployments, this should have minimal to no impact
|
|
and the switch should be mostly transparent. The main user-facing impact is
|
|
the change in schema versioning. While sqlalchemy-migrate used a linear,
|
|
integer-based versioning scheme, which required placeholder migrations to
|
|
allow for potential migration backports, alembic uses a distributed version
|
|
control-like schema where a migration's ancestor is encoded in the file and
|
|
branches are possible. The alembic migration files therefore use a
|
|
arbitrary UUID-like naming scheme and the ``keystone-manage db_version``
|
|
command returns such a version.
|
|
|
|
When the ``keystone-manage db_sync`` command is run without options or
|
|
with the ``--expand`` or ``--contract`` options, all remaining
|
|
sqlalchemy-migrate-based migrations will be automatically applied.
|
|
|
|
Data migrations are now included in the expand phase and the ``--migrate``
|
|
option is now a no-op. It may be removed in a future release.
|
|
|
|
.. __: https://sqlalchemy-migrate.readthedocs.io/en/latest/
|
|
.. __: https://alembic.sqlalchemy.org/en/latest/
|