From 8175face4f37c8119c5674958135e2e51a177c24 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 24 Jan 2012 18:10:34 -0500 Subject: [PATCH] - tried it out in my work project, and realized the "op" and "context" namespaces need to be there fully and in particular "context" needs to be a proxy object, as env.py may have dependencies which live beyond the scope of the migration script. Will have to try to make these proxies as straightforward as possible. - more architecture docs --- alembic/__init__.py | 11 +- alembic/environment.py | 4 +- alembic/op.py | 19 ++++ alembic/operations.py | 146 +++++++++++++------------ docs/build/api_overview.png | Bin 62197 -> 64697 bytes docs/build/assets/api_overview.graffle | 98 +++++++++++++++-- docs/build/front.rst | 31 ++++-- docs/build/ops.rst | 3 + 8 files changed, 217 insertions(+), 95 deletions(-) create mode 100644 alembic/op.py diff --git a/alembic/__init__.py b/alembic/__init__.py index e561d0d..09d91df 100644 --- a/alembic/__init__.py +++ b/alembic/__init__.py @@ -5,8 +5,11 @@ package_dir = path.abspath(path.dirname(__file__)) -class _OpProxy(object): - _proxy = None +from alembic import op + +class _ContextProxy(object): + """A proxy object for the current :class:`.EnvironmentContext`.""" def __getattr__(self, key): - return getattr(self._proxy, key) -op = _OpProxy() + return getattr(_context, key) +context = _ContextProxy() + diff --git a/alembic/environment.py b/alembic/environment.py index d562add..f61c9c7 100644 --- a/alembic/environment.py +++ b/alembic/environment.py @@ -46,11 +46,11 @@ def __enter__(self): be made available as ``from alembic import context``. """ - alembic.context = self + alembic._context = self return self def __exit__(self, *arg, **kw): - del alembic.context + alembic._context = None alembic.op._proxy = None def is_offline_mode(self): diff --git a/alembic/op.py b/alembic/op.py new file mode 100644 index 0000000..8a5e0fa --- /dev/null +++ b/alembic/op.py @@ -0,0 +1,19 @@ +from alembic.operations import Operations + +# create proxy functions for +# each method on the Operations class. + +# TODO: this is a quick and dirty version of this. +# Ideally, we'd be duplicating method signatures +# and such, using eval(), etc. + +_proxy = None +def _create_op_proxy(name): + def go(*arg, **kw): + return getattr(_proxy, name)(*arg, **kw) + go.__name__ = name + return go + +for methname in dir(Operations): + if not methname.startswith('_'): + locals()[methname] = _create_op_proxy(methname) \ No newline at end of file diff --git a/alembic/operations.py b/alembic/operations.py index 18b8e69..f3e6708 100644 --- a/alembic/operations.py +++ b/alembic/operations.py @@ -9,10 +9,10 @@ class Operations(object): """Define high level migration operations. - + Each operation corresponds to some schema migration operation, executed against a particular :class:`.MigrationContext`. - + Normally, the :class:`.MigrationContext` is created within an ``env.py`` script via the :meth:`.EnvironmentContext.configure` method. However, @@ -21,14 +21,14 @@ class Operations(object): class - only :class:`.MigrationContext`, which represents connectivity to a single database, is needed to use the directives. - + """ def __init__(self, migration_context): """Construct a new :class:`.Operations` - + :param migration_context: a :class:`.MigrationContext` instance. - + """ self.migration_context = migration_context self.impl = migration_context.impl @@ -111,13 +111,21 @@ def _ensure_table_for_fk(self, metadata, fk): if cname not in rel_t.c: rel_t.append_column(schema.Column(cname, NULLTYPE)) + def get_context(self): + """Return the :class:`.MigrationsContext` object that's + currently in use. + + """ + + return self.migration_context + def rename_table(self, old_table_name, new_table_name, schema=None): """Emit an ALTER TABLE to rename a table. - + :param old_table_name: old name. :param new_table_name: new name. :param schema: Optional, name of schema to operate within. - + """ self.impl.rename_table( old_table_name, @@ -136,21 +144,21 @@ def alter_column(self, table_name, column_name, ): """Issue an "alter column" instruction using the current migration context. - + Generally, only that aspect of the column which is being changed, i.e. name, type, nullability, default, needs to be specified. Multiple changes can also be specified at once and the backend should "do the right thing", emitting each change either separately or together as the backend allows. - + MySQL has special requirements here, since MySQL cannot ALTER a column without a full specification. When producing MySQL-compatible migration files, it is recommended that the ``existing_type``, ``existing_server_default``, and ``existing_nullable`` parameters be present, if not being altered. - + Type changes which are against the SQLAlchemy "schema" types :class:`~sqlalchemy.types.Boolean` and :class:`~sqlalchemy.types.Enum` may also @@ -159,7 +167,7 @@ def alter_column(self, table_name, column_name, The ``existing_server_default`` argument is used in this case as well to remove a previous constraint. - + :param table_name: string name of the target table. :param column_name: string name of the target column, as it exists before the operation begins. @@ -168,12 +176,12 @@ def alter_column(self, table_name, column_name, :param server_default: Optional; specify a string SQL expression, :func:`~sqlalchemy.sql.expression.text`, or :class:`~sqlalchemy.schema.DefaultClause` to indicate - an alteration to the column's default value. + an alteration to the column's default value. Set to ``None`` to have the default removed. :param name: Optional; specify a string name here to indicate the new name within a column rename operation. :param type_: Optional; a :class:`~sqlalchemy.types.TypeEngine` - type object to specify a change to the column's type. + type object to specify a change to the column's type. For SQLAlchemy types that also indicate a constraint (i.e. :class:`~sqlalchemy.types.Boolean`, :class:`~sqlalchemy.types.Enum`), the constraint is also generated. @@ -220,7 +228,7 @@ def alter_column(self, table_name, column_name, def add_column(self, table_name, column): """Issue an "add column" instruction using the current migration context. - + e.g.:: from alembic import op @@ -228,25 +236,25 @@ def add_column(self, table_name, column): op.add_column('organization', Column('name', String()) - ) + ) The provided :class:`~sqlalchemy.schema.Column` object can also specify a :class:`~sqlalchemy.schema.ForeignKey`, referencing a remote table name. Alembic will automatically generate a stub "referenced" table and emit a second ALTER statement in order to add the constraint separately:: - + from alembic import op from sqlalchemy import Column, INTEGER, ForeignKey op.add_column('organization', Column('account_id', INTEGER, ForeignKey('accounts.id')) - ) - + ) + :param table_name: String name of the parent table. :param column: a :class:`sqlalchemy.schema.Column` object representing the new column. - + """ t = self._table(table_name, column) @@ -260,11 +268,11 @@ def add_column(self, table_name, column): def drop_column(self, table_name, column_name, **kw): """Issue a "drop column" instruction using the current migration context. - + e.g.:: - + drop_column('organization', 'account_id') - + :param table_name: name of table :param column_name: name of column :param mssql_drop_check: Optional boolean. When ``True``, on @@ -277,7 +285,7 @@ def drop_column(self, table_name, column_name, **kw): drop the DEFAULT constraint on the column using a SQL-script-compatible block that selects into a @variable from sys.default_constraints, then exec's a separate DROP CONSTRAINT for that default. - + """ self.impl.drop_column( @@ -292,7 +300,7 @@ def create_foreign_key(self, name, source, referent, local_cols, remote_cols): current migration context. e.g.:: - + from alembic import op op.create_foreign_key("fk_user_address", "address", "user", ["user_id"], ["id"]) @@ -303,7 +311,7 @@ def create_foreign_key(self, name, source, referent, local_cols, remote_cols): Any event listeners associated with this action will be fired off normally. The :class:`~sqlalchemy.schema.AddConstraint` construct is ultimately used to generate the ALTER statement. - + :param name: Name of the foreign key constraint. The name is necessary so that an ALTER statement can be emitted. For setups that use an automated naming scheme such as that described at @@ -319,7 +327,7 @@ def create_foreign_key(self, name, source, referent, local_cols, remote_cols): source table. :param remote_cols: a list of string column names in the remote table. - + """ self.impl.add_constraint( @@ -331,7 +339,7 @@ def create_unique_constraint(self, name, source, local_cols, **kw): """Issue a "create unique constraint" instruction using the current migration context. e.g.:: - + from alembic import op op.create_unique_constraint("uq_user_name", "user", ["name"]) @@ -342,7 +350,7 @@ def create_unique_constraint(self, name, source, local_cols, **kw): Any event listeners associated with this action will be fired off normally. The :class:`~sqlalchemy.schema.AddConstraint` construct is ultimately used to generate the ALTER statement. - + :param name: Name of the unique constraint. The name is necessary so that an ALTER statement can be emitted. For setups that use an automated naming scheme such as that described at @@ -358,7 +366,7 @@ def create_unique_constraint(self, name, source, local_cols, **kw): issuing DDL for this constraint. :param initially: optional string. If set, emit INITIALLY when issuing DDL for this constraint. - + """ self.impl.add_constraint( @@ -368,18 +376,18 @@ def create_unique_constraint(self, name, source, local_cols, **kw): def create_check_constraint(self, name, source, condition, **kw): """Issue a "create check constraint" instruction using the current migration context. - + e.g.:: - + from alembic import op from sqlalchemy.sql import column, func - + op.create_check_constraint( "ck_user_name_len", "user", func.len(column('name')) > 5 ) - + CHECK constraints are usually against a SQL expression, so ad-hoc table metadata is usually needed. The function will convert the given arguments into a :class:`sqlalchemy.schema.CheckConstraint` bound @@ -394,13 +402,13 @@ def create_check_constraint(self, name, source, condition, **kw): with the table. :param source: String name of the source table. Currently there is no support for dotted schema names. - :param condition: SQL expression that's the condition of the constraint. + :param condition: SQL expression that's the condition of the constraint. Can be a string or SQLAlchemy expression language structure. :param deferrable: optional bool. If set, emit DEFERRABLE or NOT DEFERRABLE when issuing DDL for this constraint. :param initially: optional string. If set, emit INITIALLY when issuing DDL for this constraint. - + """ self.impl.add_constraint( self._check_constraint(name, source, condition, **kw) @@ -408,11 +416,11 @@ def create_check_constraint(self, name, source, condition, **kw): def create_table(self, name, *columns, **kw): """Issue a "create table" instruction using the current migration context. - + This directive receives an argument list similar to that of the traditional :class:`sqlalchemy.schema.Table` construct, but without the metadata:: - + from sqlalchemy import INTEGER, VARCHAR, NVARCHAR, Column from alembic import op @@ -432,7 +440,7 @@ def create_table(self, name, *columns, **kw): type will emit a CREATE TYPE within these events. :param \**kw: Other keyword arguments are passed to the underlying :class:`.Table` object created for the command. - + """ self.impl.create_table( self._table(name, *columns, **kw) @@ -440,12 +448,12 @@ def create_table(self, name, *columns, **kw): def drop_table(self, name): """Issue a "drop table" instruction using the current migration context. - - + + e.g.:: - + drop_table("accounts") - + """ self.impl.drop_table( self._table(name) @@ -453,9 +461,9 @@ def drop_table(self, name): def create_index(self, name, tablename, *columns, **kw): """Issue a "create index" instruction using the current migration context. - + e.g.:: - + from alembic import op op.create_index('ik_test', 't1', ['foo', 'bar']) @@ -467,12 +475,12 @@ def create_index(self, name, tablename, *columns, **kw): def drop_index(self, name): """Issue a "drop index" instruction using the current migration context. - - + + e.g.:: - + drop_index("accounts") - + """ self.impl.drop_index(self._index(name, 'foo', [])) @@ -485,26 +493,26 @@ def drop_constraint(self, name, tablename): def bulk_insert(self, table, rows): """Issue a "bulk insert" operation using the current migration context. - + This provides a means of representing an INSERT of multiple rows which works equally well in the context of executing on a live connection as well as that of generating a SQL script. In the case of a SQL script, the values are rendered inline into the statement. - + e.g.:: - + from datetime import date from sqlalchemy.sql import table, column from sqlalchemy import String, Integer, Date - + # Create an ad-hoc table to use for the insert statement. accounts_table = table('account', column('id', Integer), column('name', String), column('create_date', Date) ) - + bulk_insert(accounts_table, [ {'id':1, 'name':'John Smith', 'create_date':date(2010, 10, 5)}, @@ -518,12 +526,12 @@ def bulk_insert(self, table, rows): def inline_literal(self, value, type_=None): """Produce an 'inline literal' expression, suitable for using in an INSERT, UPDATE, or DELETE statement. - + When using Alembic in "offline" mode, CRUD operations aren't compatible with SQLAlchemy's default behavior surrounding literal values, which is that they are converted into bound values and passed - separately into the ``execute()`` method of the DBAPI cursor. + separately into the ``execute()`` method of the DBAPI cursor. An offline SQL script needs to have these rendered inline. While it should always be noted that inline literal values are an **enormous** @@ -535,7 +543,7 @@ def inline_literal(self, value, type_=None): See :meth:`.execute` for an example usage of :meth:`.inline_literal`. - + :param value: The value to render. Strings, integers, and simple numerics should be supported. Other types like boolean, dates, etc. may or may not be supported yet by various @@ -551,31 +559,31 @@ def inline_literal(self, value, type_=None): def execute(self, sql): """Execute the given SQL using the current migration context. - + In a SQL script context, the statement is emitted directly to the output stream. There is *no* return result, however, as this function is oriented towards generating a change script that can run in "offline" mode. For full interaction with a connected database, use the "bind" available from the context:: - + from alembic import op connection = op.get_bind() - + Also note that any parameterized statement here *will not work* in offline mode - INSERT, UPDATE and DELETE statements which refer to literal values would need to render inline expressions. For simple use cases, the :meth:`.inline_literal` function can be used for **rudimentary** quoting of string values. For "bulk" inserts, consider using :meth:`.bulk_insert`. - + For example, to emit an UPDATE statement which is equally compatible with both online and offline mode:: - + from sqlalchemy.sql import table, column from sqlalchemy import String from alembic import op - + account = table('account', column('name', String) ) @@ -584,7 +592,7 @@ def execute(self, sql): where(account.c.name==op.inline_literal('account 1')).\\ values({'name':op.inline_literal('account 2')}) ) - + Note above we also used the SQLAlchemy :func:`sqlalchemy.sql.expression.table` and :func:`sqlalchemy.sql.expression.column` constructs to make a brief, ad-hoc table construct just for our UPDATE statement. A full @@ -593,9 +601,9 @@ def execute(self, sql): the definition of a table is self-contained within the migration script, rather than imported from a module that may break compatibility with older migrations. - + :param sql: Any legal SQLAlchemy expression, including: - + * a string * a :func:`sqlalchemy.sql.expression.text` construct. * a :func:`sqlalchemy.sql.expression.insert` construct. @@ -604,19 +612,19 @@ def execute(self, sql): * Pretty much anything that's "executable" as described in :ref:`sqlexpression_toplevel`. - + """ self.migration_context.impl.execute(sql) def get_bind(self): """Return the current 'bind'. - + Under normal circumstances, this is the :class:`sqlalchemy.engine.Connection` currently being used to emit SQL to the database. - + In a SQL script context, this value is ``None``. [TODO: verify this] - + """ return self.migration_context.impl.bind diff --git a/docs/build/api_overview.png b/docs/build/api_overview.png index 1ad799399513c67889df3662fc27be72982a5123..dab204b6e30ebda4613bad87cde302d68a74f539 100644 GIT binary patch delta 59148 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 Q65^$&WqhYX!#?7F0KU&nLI3~& diff --git a/docs/build/assets/api_overview.graffle b/docs/build/assets/api_overview.graffle index b363d52..7c083e5 100644 --- a/docs/build/assets/api_overview.graffle +++ b/docs/build/assets/api_overview.graffle @@ -29,6 +29,88 @@ 5 GraphicsList + + Bounds + {{319.25, 165}, {66, 12}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 2054 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs20 \cf0 <<proxies>>} + + Wrap + NO + + + Bounds + {{444, 216.633}, {66, 12}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 2053 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs20 \cf0 <<proxies>>} + + Wrap + NO + Class LineGraphic @@ -159,7 +241,7 @@ Head ID - 2042 + 33 ID 2046 @@ -169,8 +251,8 @@ 28.725006103515625 Points - {304, 198.756} {385.25, 157} + {304, 191.818} Style @@ -189,7 +271,7 @@ Tail ID - 33 + 2042 @@ -198,7 +280,7 @@ Head ID - 2043 + 38 ID 2044 @@ -208,8 +290,8 @@ 52.850021362304688 Points - {433.496, 294.6} {454.25, 177} + {442.638, 294.6} Style @@ -228,7 +310,7 @@ Tail ID - 38 + 2043 @@ -1095,7 +1177,7 @@ is_offline_mode()} ModificationDate - 2012-01-24 17:14:19 -0500 + 2012-01-24 17:59:01 -0500 Modifier classic NotesVisible @@ -1167,7 +1249,7 @@ is_offline_mode()} FitInWindow Frame - {{335, 186}, {760, 817}} + {{335, 211}, {760, 817}} ShowRuler ShowStatusBar diff --git a/docs/build/front.rst b/docs/build/front.rst index 0460f35..c3bcaae 100644 --- a/docs/build/front.rst +++ b/docs/build/front.rst @@ -56,18 +56,25 @@ Upgrading from Alembic 0.1 to 0.2 Alembic 0.2 has some reorganizations and features that might impact an existing 0.1 installation. These include: -* The ``alembic.op`` and ``alembic.context`` names are no longer Python modules, - and are instead objects placed at those names when migrations run. This - means an env.py script or migration script that tries to import from - the object will fail, such as ``from alembic.op import create_table``. - The imports used should now be of the form ``from alembic import context`` - and ``from alembic import op``. The various methods associated with the - context and ops should be invoked from those names now, such as ``op.create_table()``. - The included files and the tutorial in 0.1 already did things this way, - though the examples for each ``op`` docstring did not. Hopefully most users - stuck with the tutorial convention, where the usage examples will - still work without change. - +* The ``alembic.op`` module is now generated from a class called + :class:`.Operations`, including standalone functions that each proxy + to the current instance of :class:`.Operations`. The behavior here + is tailored such that an existing migration script that imports + symbols directly from ``alembic.op``, that is, + ``from alembic.op import create_table``, should still work fine; though ideally + it's better to use the style ``from alembic import op``, then call + migration methods directly from the ``op`` member. The functions inside + of ``alembic.op`` are at the moment minimally tailored proxies; a future + release should refine these to more closely resemble the :class:`.Operations` + methods they represent. +* The ``alembic.context`` module no longer exists, instead ``alembic.context`` + is an object inside the ``alembic`` module which proxies to an underlying + instance of :class:`.EnvironmentContext`. :class:`.EnvironmentContext` + represents the current environment in an encapsulated way. Most ``env.py`` + scripts that don't import from the ``alembic.context`` name directly, + instead importing ``context`` itself, should be fine here. A script that attempts to + import from it, such as ``from alembic.context import configure``, will + need to be changed to read ``from alembic import context; context.configure()``. * The naming convention for migration files is now customizable, and defaults to the scheme "%(rev)s_%(slug)s", where "slug" is based on the message added to the script. When Alembic reads one of these files, it looks diff --git a/docs/build/ops.rst b/docs/build/ops.rst index e9d5bf0..4322bfb 100644 --- a/docs/build/ops.rst +++ b/docs/build/ops.rst @@ -14,6 +14,9 @@ All directives exist as methods on a class called :class:`.Operations`. When migration scripts are run, this object is made available to the script via the ``alembic.op`` datamember, which is a *proxy* to an actual instance of :class:`.Operations`. +Currently, ``alembic.op`` is a real Python module, populated +with individual proxies for each method on :class:`.Operations`, +so symbols can be imported safely from the ``alembic.op`` namespace. A key design philosophy to the :mod:`alembic.operations` methods is that to the greatest degree possible, they internally generate the