Alembic( )
#
Provide an Alembic environment and migration API.
For a more in-depth understanding of these methods and the extra options, you can read the documentation for the Alembic config.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
db |
SQLAlchemy
|
A |
required |
path |
StrPath
|
Path to the migrations folder. |
'db/migrations'
|
**options |
Other alembic options |
{}
|
revision(message, *, empty=False, parent='head')
#
Create a new revision. Auto-generate operations by comparing models and database.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message |
str
|
Revision message. |
required |
empty |
bool
|
Generate just an empty migration file, not the operations. |
False
|
parent |
str
|
Parent revision of this new revision. |
'head'
|
upgrade(target='head', *, sql=False, **kwargs)
#
Run migrations to upgrade database.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
target |
str
|
Revision target or “from:to” range if |
'head'
|
sql |
bool
|
Don’t emit SQL to database, dump to standard output instead. |
False
|
kwargs |
Optional arguments. If these are passed, they are sent directly
to the |
{}
|
downgrade(target='-1', *, sql=False, **kwargs)
#
Run migrations to downgrade database.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
target |
str
|
Revision target as an integer relative to the current
state (e.g.: “-1”), or as a “from:to” range if |
'-1'
|
sql |
bool
|
Don’t emit SQL to database, dump to standard output instead. |
False
|
kwargs |
Optional arguments.
If these are passed, they are sent directly
to the |
{}
|
get_history(*, start=None, end=None)
#
Get the list of revisions in chronological order. You can optionally specify the range of revisions to return.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
start |
str | None
|
From this revision (including it.) |
None
|
end |
str | None
|
To this revision (including it.) |
None
|
history(*, verbose=False, start='base', end='heads')
#
Print the list of revisions in chronological order. You can optionally specify the range of revisions to return.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
verbose |
bool
|
If |
False
|
start |
str | None
|
Optional starting revision (including it.) |
'base'
|
end |
str | None
|
Optional end revision (including it.) |
'heads'
|
stamp(target='head', *, sql=False, purge=False)
#
Set the given revision in the revision table. Don’t run migrations.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
target |
str
|
The target revision; “head” by default. |
'head'
|
sql |
bool
|
Don’t emit SQL to the database, dump to the standard output instead. |
False
|
purge |
bool
|
Delete all entries in the version table before stamping. |
False
|
get_current()
#
Get the last revision applied.
current(verbose=False)
#
Print the latest revision(s) applied.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
verbose |
bool
|
If |
False
|
get_head()
#
Get the latest revision.
head(verbose=False)
#
Print the latest revision.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
verbose |
bool
|
If |
False
|
init(path)
#
Creates a new migration folder
with a script.py.mako
template file. It doesn’t fail if the
folder or file already exists.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
path |
StrPath
|
Target folder. |
required |
create_all()
#
Create all the tables from the current models and stamp the latest revision without running any migration.
rev_id()
#
Generate a unique id for a revision.
By default this uses alembic.util.rev_id
. Override this
method to change it.