0.8.1
0.8.1
Released: August 22, 2015
-
[autogenerate] [feature] A custom
EnvironmentContext.configure.process_revision_directives
hook can now generate op directives within theUpgradeOps
andDowngradeOps
containers that will be generated as Python
code even when the--autogenerate
flag is False; provided that
revision_environment=True
, the full render operation will be run
even in "offline" mode. -
[autogenerate] [bug] Repaired the render operation for the
ops.AlterColumnOp
object
to succeed when the "existing_type" field was not present. -
[autogenerate] [bug] Fixed a regression 0.8 whereby the "multidb" environment template
failed to produce independent migration script segments for the
output template. This was due to the reorganization of the script
rendering system for 0.8. To accommodate this change, the
MigrationScript
structure will in the case of multiple
calls toMigrationContext.run_migrations()
produce lists
for theMigrationScript.upgrade_ops
and
MigrationScript.downgrade_ops
attributes; eachUpgradeOps
andDowngradeOps
instance keeps track of its own
upgrade_token
anddowngrade_token
, and each are rendered
individually.References: #318
-
[autogenerate] [feature] Implemented support for autogenerate detection of changes in the
ondelete
,onupdate
,initially
anddeferrable
attributes ofForeignKeyConstraint
objects on
SQLAlchemy backends that support these on reflection
(as of SQLAlchemy 1.0.8 currently Postgresql for all four,
MySQL forondelete
andonupdate
only). A constraint object
that modifies these values will be reported as a "diff" and come out
as a drop/create of the constraint with the modified values.
The fields are ignored for backends which don't reflect these
attributes (as of SQLA 1.0.8 this includes SQLite, Oracle, SQL Server,
others).References: #317