0.7.5
Released: March 19, 2015
-
[autogenerate] [bug] The
--autogenerate
option is not valid when used in conjunction
with "offline" mode, e.g.--sql
. This now raises aCommandError
,
rather than failing more deeply later on. Pull request courtesy
Johannes Erdfelt.References: #266
-
[bug] [mssql] [operations] Fixed bug where the mssql DROP COLUMN directive failed to include
modifiers such as "schema" when emitting the DDL.References: #284
-
[autogenerate] [bug] [postgresql] Postgresql "functional" indexes are necessarily skipped from the
autogenerate process, as the SQLAlchemy backend currently does not
support reflection of these structures. A warning is emitted
both from the SQLAlchemy backend as well as from the Alembic
backend for Postgresql when such an index is detected.References: #282
-
[autogenerate] [bug] [mysql] Fixed bug where MySQL backend would report dropped unique indexes
and/or constraints as both at the same time. This is because
MySQL doesn't actually have a "unique constraint" construct that
reports differently than a "unique index", so it is present in both
lists. The net effect though is that the MySQL backend will report
a dropped unique index/constraint as an index in cases where the object
was first created as a unique constraint, if no other information
is available to make the decision. This differs from other backends
like Postgresql which can report on unique constraints and
unique indexes separately.References: #276
-
[bug] [commands] Fixed bug where using a partial revision identifier as the
"starting revision" in--sql
mode in a downgrade operation
would fail to resolve properly.As a side effect of this change, the
EnvironmentContext.get_starting_revision_argument()
method will return the "starting" revision in its originally-
given "partial" form in all cases, whereas previously when
running within thecommand.stamp()
command, it would have
been resolved to a full number before passing it to the
EnvironmentContext
. The resolution of this value to
a real revision number has basically been moved to a more fundamental
level within the offline migration process.References: #269
-
[commands] [feature] Added a new feature
Config.attributes
, to help with the use
case of sharing state such as engines and connections on the outside
with a series of Alembic API calls; also added a new cookbook section
to describe this simple but pretty important use case. -
[environment] [feature] The format of the default
env.py
script has been refined a bit;
it now uses context managers not only for the scope of the transaction,
but also for connectivity from the starting engine. The engine is also
now called a "connectable" in support of the use case of an external
connection being passed in. -
[feature] [versioning] Added support for "alembic stamp" to work when given "heads" as an
argument, when multiple heads are present.References: #267