0.7.6
Released: May 5, 2015
-
[feature] [versioning] Fixed bug where the case of multiple mergepoints that all
have the identical set of ancestor revisions would fail to be
upgradable, producing an assertion failure. Merge points were
previously assumed to always require at least an UPDATE in
alembic_revision from one of the previous revs to the new one,
however in this case, if one of the mergepoints has already
been reached, the remaining mergepoints have no row to UPDATE therefore
they must do an INSERT of their target version.References: #297
-
[autogenerate] [feature] Added support for type comparison functions to be not just per
environment, but also present on the custom types themselves, by
supplying a methodcompare_against_backend
.
Added a new documentation sectioncompare_types
describing
type comparison fully.References: #296
-
[feature] [operations] Added a new option
EnvironmentContext.configure.literal_binds
, which
will pass theliteral_binds
flag into the compilation of SQL
constructs when using "offline" mode. This has the effect that
SQL objects like inserts, updates, deletes as well as textual
statements sent usingtext()
will be compiled such that the dialect
will attempt to render literal values "inline" automatically.
Only a subset of types is typically supported; the
Operations.inline_literal()
construct remains as the construct
used to force a specific literal representation of a value.
TheEnvironmentContext.configure.literal_binds
flag
is added to the "offline" section of theenv.py
files generated
in new environments.References: #255
-
[batch] [bug] Fully implemented the
~.Operations.batch_alter_table.copy_from
parameter for
batch mode, which previously was not functioning. This allows
"batch mode" to be usable in conjunction with--sql
.References: #289
-
[batch] [bug] Repaired support for the
BatchOperations.create_index()
directive, which was mis-named internally such that the operation
within a batch context could not proceed. The create index
operation will proceed as part of a larger "batch table recreate"
operation only if
~.Operations.batch_alter_table.recreate
is set to
"always", or if the batch operation includes other instructions that
require a table recreate.References: #287