Skip to content

Releases: sqlalchemy/alembic

0.3.5

17 Sep 22:11
Compare
Choose a tag to compare

0.3.5

Released: Sun Jul 08 2012

  • [bug] Fixed issue whereby reflected server defaults
    wouldn't be quoted correctly; uses repr() now.

    References: #31

  • [bug] Fixed issue whereby when autogenerate would
    render create_table() on the upgrade side for a
    table that has a Boolean type, an unnecessary
    CheckConstraint() would be generated.

    References: #58

  • [feature] Implemented SQL rendering for
    CheckConstraint() within autogenerate upgrade,
    including for literal SQL as well as SQL Expression
    Language expressions.

0.3.4

17 Sep 22:11
Compare
Choose a tag to compare

0.3.4

Released: Sat Jun 02 2012

  • [bug] Fixed command-line bug introduced by the
    "revision_environment" feature.

0.3.3

17 Sep 22:11
Compare
Choose a tag to compare

0.3.3

Released: Sat Jun 02 2012

  • [feature] New config argument
    "revision_environment=true", causes env.py to
    be run unconditionally when the "revision" command
    is run, to support script.py.mako templates with
    dependencies on custom "template_args".

  • [feature] Added "template_args" option to configure()
    so that an env.py can add additional arguments
    to the template context when running the
    "revision" command. This requires either --autogenerate
    or the configuration directive "revision_environment=true".

  • [bug] Added "type" argument to op.drop_constraint(),
    and implemented full constraint drop support for
    MySQL. CHECK and undefined raise an error.
    MySQL needs the constraint type
    in order to emit a DROP CONSTRAINT.

    References: #44

  • [feature] Added version_table argument to
    EnvironmentContext.configure(), allowing for the
    configuration of the version table name.

    References: #34

  • [feature] Added support for "relative" migration
    identifiers, i.e. "alembic upgrade +2",
    "alembic downgrade -1". Courtesy
    Atsushi Odagiri for this feature.

  • [bug] Fixed bug whereby directories inside of
    the template directories, such as pycache
    on Pypy, would mistakenly be interpreted as
    files which are part of the template.

    References: #49

0.3.2

17 Sep 22:11
Compare
Choose a tag to compare

0.3.2

Released: Mon Apr 30 2012

  • [feature] Basic support for Oracle added,
    courtesy shgoh.

    References: #40

  • [feature] Added support for UniqueConstraint
    in autogenerate, courtesy Atsushi Odagiri

  • [bug] Fixed support of schema-qualified
    ForeignKey target in column alter operations,
    courtesy Alexander Kolov.

  • [bug] Fixed bug whereby create_unique_constraint()
    would include in the constraint columns that
    are added to all Table objects using events,
    externally to the generation of the constraint.

0.3.1

17 Sep 22:11
Compare
Choose a tag to compare

0.3.1

Released: Sat Apr 07 2012

  • [bug] bulk_insert() fixes:

    -   bulk_insert() operation was
        not working most likely since the 0.2 series
        when used with an engine.
    
    -   Repaired bulk_insert() to complete when
        used against a lower-case-t table and executing
        with only one set of parameters, working
        around SQLAlchemy bug #2461 in this regard.
    
    -   bulk_insert() uses "inline=True" so that phrases
        like RETURNING and such don't get invoked for
        single-row bulk inserts.
    
    -   bulk_insert() will check that you're passing
        a list of dictionaries in, raises TypeError
        if not detected.
    

    References: #41

0.3.0

17 Sep 22:11
Compare
Choose a tag to compare

0.3.0

Released: Thu Apr 05 2012

  • [general] The focus of 0.3 is to clean up
    and more fully document the public API of Alembic,
    including better accessors on the MigrationContext
    and ScriptDirectory objects. Methods that are
    not considered to be public on these objects have
    been underscored, and methods which should be public
    have been cleaned up and documented, including:

    MigrationContext.get_current_revision()
    ScriptDirectory.iterate_revisions()
    ScriptDirectory.get_current_head()
    ScriptDirectory.get_heads()
    ScriptDirectory.get_base()
    ScriptDirectory.generate_revision()

  • [feature] Added a bit of autogenerate to the
    public API in the form of the function
    alembic.autogenerate.compare_metadata.

0.2.2

17 Sep 22:11
Compare
Choose a tag to compare

0.2.2

Released: Mon Mar 12 2012

  • [feature] Informative error message when op.XYZ
    directives are invoked at module import time.

  • [bug] Fixed inappropriate direct call to
    util.err() and therefore sys.exit()
    when Config failed to locate the
    config file within library usage.

    References: #35

  • [bug] Autogenerate will emit CREATE TABLE
    and DROP TABLE directives according to
    foreign key dependency order.

  • [bug] implement 'tablename' parameter on
    drop_index() as this is needed by some
    backends.

  • [feature] Added execution_options parameter
    to op.execute(), will call execution_options()
    on the Connection before executing.

    The immediate use case here is to allow
    access to the new no_parameters option
    in SQLAlchemy 0.7.6, which allows
    some DBAPIs (psycopg2, MySQLdb) to allow
    percent signs straight through without
    escaping, thus providing cross-compatible
    operation with DBAPI execution and
    static script generation.

  • [bug] setup.py won't install argparse if on
    Python 2.7/3.2

  • [feature] script_location can be interpreted
    by pkg_resources.resource_filename(), if
    it is a non-absolute URI that contains
    colons. This scheme is the same
    one used by Pyramid.

    References: #29

  • [feature] added missing support for
    onupdate/ondelete flags for
    ForeignKeyConstraint, courtesy Giacomo Bagnoli

  • [bug] fixed a regression regarding an autogenerate
    error message, as well as various glitches
    in the Pylons sample template. The Pylons sample
    template requires that you tell it where to
    get the Engine from now. courtesy
    Marcin Kuzminski

    References: #30

  • [bug] drop_index() ensures a dummy column
    is added when it calls "Index", as SQLAlchemy
    0.7.6 will warn on index with no column names.

0.2.1

17 Sep 22:11
Compare
Choose a tag to compare

0.2.1

Released: Tue Jan 31 2012

  • [bug] Fixed the generation of CHECK constraint,
    regression from 0.2.0

    References: #26

0.2.0

17 Sep 22:11
Compare
Choose a tag to compare

0.2.0

Released: Mon Jan 30 2012

  • [feature] API rearrangement allows everything
    Alembic does to be represented by contextual
    objects, including EnvironmentContext,
    MigrationContext, and Operations. Other
    libraries and applications can now use
    things like "alembic.op" without relying
    upon global configuration variables.
    The rearrangement was done such that
    existing migrations should be OK,
    as long as they use the pattern
    of "from alembic import context" and
    "from alembic import op", as these
    are now contextual objects, not modules.

    References: #19

  • [feature] The naming of revision files can
    now be customized to be some combination
    of "rev id" and "slug", the latter of which
    is based on the revision message.
    By default, the pattern "_"
    is used for new files. New script files
    should include the "revision" variable
    for this to work, which is part of
    the newer script.py.mako scripts.

    References: #24

  • [bug] env.py templates call
    connection.close() to better support
    programmatic usage of commands; use
    NullPool in conjunction with create_engine()
    as well so that no connection resources
    remain afterwards.

    References: #25

  • [bug] fix the config.main() function to honor
    the arguments passed, remove no longer used
    "scripts/alembic" as setuptools creates this
    for us.

    References: #22

  • [bug] Fixed alteration of column type on
    MSSQL to not include the keyword "TYPE".

  • [feature] Can create alembic.config.Config
    with no filename, use set_main_option()
    to add values. Also added set_section_option()
    which will add sections.

    References: #23

0.1.1

17 Sep 22:11
Compare
Choose a tag to compare

0.1.1

Released: Wed Jan 04 2012

  • [bug] Clean up file write operations so that
    file handles are closed.

  • [feature] PyPy is supported.

  • [feature] Python 2.5 is supported, needs
    future.with_statement

  • [bug] Fix autogenerate so that "pass" is
    generated between the two comments
    if no net migrations were present.

  • [bug] Fix autogenerate bug that prevented
    correct reflection of a foreign-key
    referenced table in the list of "to remove".

    References: #16

  • [bug] Fix bug where create_table() didn't
    handle self-referential foreign key
    correctly

    References: #17

  • [bug] Default prefix for autogenerate
    directives is "op.", matching the
    mako templates.

    References: #18

  • [feature] Add alembic_module_prefix argument
    to configure() to complement
    sqlalchemy_module_prefix.

    References: #18

  • [bug] fix quotes not being rendered in
    ForeignKeConstraint during
    autogenerate

    References: #14