diff options
Diffstat (limited to 'releasenotes/notes/switch-to-alembic-7af6f8e71e4bf56b.yaml')
-rw-r--r-- | releasenotes/notes/switch-to-alembic-7af6f8e71e4bf56b.yaml | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/releasenotes/notes/switch-to-alembic-7af6f8e71e4bf56b.yaml b/releasenotes/notes/switch-to-alembic-7af6f8e71e4bf56b.yaml new file mode 100644 index 000000000..883f74db3 --- /dev/null +++ b/releasenotes/notes/switch-to-alembic-7af6f8e71e4bf56b.yaml @@ -0,0 +1,22 @@ +--- +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 ``heat-manage db_sync`` command + now expects such an version when manually specifying the version that should + be applied. For example:: + + $ heat-manage db_sync c6214ca60943 + + Attempting to specify an sqlalchemy-migrate-based version will result in an + error. + + .. __: https://sqlalchemy-migrate.readthedocs.io/en/latest/ + .. __: https://alembic.sqlalchemy.org/en/latest/ |