0.8.1
Released: August 22, 2015
-
[autogenerate] [feature] A custom
EnvironmentContext.configure.process_revision_directives
hook can now generate op directives within theUpgradeOps
andDowngradeOpscontainers that will be generated as Python
code even when the--autogenerateflag 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.AlterColumnOpobject
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
MigrationScriptstructure will in the case of multiple
calls toMigrationContext.run_migrations()produce lists
for theMigrationScript.upgrade_opsand
MigrationScript.downgrade_opsattributes; eachUpgradeOps
andDowngradeOpsinstance keeps track of its own
upgrade_tokenanddowngrade_token, and each are rendered
individually.References: #318
-
[autogenerate] [feature] Implemented support for autogenerate detection of changes in the
ondelete,onupdate,initiallyanddeferrable
attributes ofForeignKeyConstraintobjects on
SQLAlchemy backends that support these on reflection
(as of SQLAlchemy 1.0.8 currently Postgresql for all four,
MySQL forondeleteandonupdateonly). 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