mistral/mistral/db/sqlalchemy/migration/alembic_migrations
ali 7e7f1cb92b moved generic util functions from mistral to mistral-lib
Depends-On: I780c270e4b1a184d7d4dcc580d23697ba75edab1
Closes-bug: #1815183
Change-Id: I5a1d402baa3f69c37f9347c8b3d02a83b8f60423
2019-09-13 04:06:27 +00:00
..
versions moved generic util functions from mistral to mistral-lib 2019-09-13 04:06:27 +00:00
README.md Adding migrations README 2015-05-05 14:41:25 +03:00
__init__.py Add mistral-db-manage script 2015-04-01 13:29:25 +03:00
env.py Removed unnecessary utf-8 encoding 2017-01-11 02:58:04 +00:00
script.py.mako Add mistral-db-manage script 2015-04-01 13:29:25 +03:00

README.md

The migrations in alembic_migrations/versions contain the changes needed to migrate between Mistral database revisions. A migration occurs by executing a script that details the changes needed to upgrade the database. The migration scripts are ordered so that multiple scripts can run sequentially. The scripts are executed by Mistral's migration wrapper which uses the Alembic library to manage the migration. Mistral supports migration from Kilo or later.

You can upgrade to the latest database version via:

mistral-db-manage --config-file /path/to/mistral.conf upgrade head

You can populate the database with standard actions and workflows:

mistral-db-manage --config-file /path/to/mistral.conf populate

To check the current database version:

mistral-db-manage --config-file /path/to/mistral.conf current

To create a script to run the migration offline:

mistral-db-manage --config-file /path/to/mistral.conf upgrade head --sql

To run the offline migration between specific migration versions:

mistral-db-manage --config-file /path/to/mistral.conf upgrade <start version>:<end version> --sql

Upgrade the database incrementally:

mistral-db-manage --config-file /path/to/mistral.conf upgrade --delta <# of revs>

Or, upgrade the database to one newer revision:

mistral-db-manage --config-file /path/to/mistral.conf upgrade +1

Create new revision:

mistral-db-manage --config-file /path/to/mistral.conf revision -m "description of revision" --autogenerate

Create a blank file:

mistral-db-manage --config-file /path/to/mistral.conf revision -m "description of revision"

This command does not perform any migrations, it only sets the revision. Revision may be any existing revision. Use this command carefully.

mistral-db-manage --config-file /path/to/mistral.conf stamp <revision>

To verify that the timeline does branch, you can run this command:

mistral-db-manage --config-file /path/to/mistral.conf check_migration

If the migration path has branch, you can find the branch point via:

mistral-db-manage --config-file /path/to/mistral.conf history