summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--alembic/__init__.py14
-rw-r--r--alembic/autogenerate/__init__.py18
-rw-r--r--alembic/autogenerate/api.py18
-rw-r--r--alembic/autogenerate/compare.py36
-rw-r--r--alembic/autogenerate/render.py12
-rw-r--r--alembic/command.py9
-rw-r--r--alembic/config.py4
-rw-r--r--alembic/ddl/__init__.py8
-rw-r--r--alembic/ddl/base.py18
-rw-r--r--alembic/ddl/impl.py11
-rw-r--r--alembic/ddl/mssql.py38
-rw-r--r--alembic/ddl/mysql.py32
-rw-r--r--alembic/ddl/oracle.py20
-rw-r--r--alembic/ddl/postgresql.py48
-rw-r--r--alembic/ddl/sqlite.py5
-rw-r--r--alembic/operations/__init__.py5
-rw-r--r--alembic/operations/base.py6
-rw-r--r--alembic/operations/batch.py36
-rw-r--r--alembic/operations/ops.py36
-rw-r--r--alembic/operations/schemaobj.py6
-rw-r--r--alembic/operations/toimpl.py4
-rw-r--r--alembic/runtime/environment.py2
-rw-r--r--alembic/runtime/migration.py31
-rw-r--r--alembic/script/__init__.py3
-rw-r--r--alembic/script/base.py13
-rw-r--r--alembic/script/revision.py5
-rw-r--r--alembic/templates/generic/env.py8
-rw-r--r--alembic/templates/multidb/env.py10
-rw-r--r--alembic/templates/pylons/env.py9
-rw-r--r--alembic/testing/__init__.py28
-rw-r--r--alembic/testing/assertions.py30
-rw-r--r--alembic/testing/env.py9
-rw-r--r--alembic/testing/exclusions.py14
-rw-r--r--alembic/testing/fixtures.py26
-rw-r--r--alembic/testing/mock.py7
-rw-r--r--alembic/testing/plugin/plugin_base.py9
-rw-r--r--alembic/testing/plugin/pytestplugin.py14
-rw-r--r--alembic/testing/provision.py19
-rw-r--r--alembic/testing/requirements.py1
-rw-r--r--alembic/testing/runner.py3
-rw-r--r--alembic/testing/warnings.py3
-rw-r--r--alembic/util/__init__.py72
-rw-r--r--alembic/util/compat.py20
-rw-r--r--alembic/util/langhelpers.py13
-rw-r--r--alembic/util/messaging.py15
-rw-r--r--alembic/util/pyfiles.py17
-rw-r--r--alembic/util/sqla_compat.py11
-rw-r--r--setup.cfg1
-rw-r--r--setup.py12
-rw-r--r--tests/__init__.py2
-rw-r--r--tests/_autogen_fixtures.py41
-rw-r--r--tests/_large_map.py3
-rw-r--r--tests/requirements.py4
-rw-r--r--tests/test_autogen_composition.py13
-rw-r--r--tests/test_autogen_diffs.py66
-rw-r--r--tests/test_autogen_fks.py24
-rw-r--r--tests/test_autogen_indexes.py34
-rw-r--r--tests/test_autogen_render.py95
-rw-r--r--tests/test_batch.py56
-rw-r--r--tests/test_bulk_insert.py28
-rw-r--r--tests/test_command.py39
-rw-r--r--tests/test_config.py24
-rw-r--r--tests/test_environment.py24
-rw-r--r--tests/test_external_dialect.py28
-rw-r--r--tests/test_mssql.py30
-rw-r--r--tests/test_mysql.py30
-rw-r--r--tests/test_offline_environment.py23
-rw-r--r--tests/test_op.py28
-rw-r--r--tests/test_op_naming_convention.py21
-rw-r--r--tests/test_oracle.py22
-rw-r--r--tests/test_postgresql.py93
-rw-r--r--tests/test_revision.py73
-rw-r--r--tests/test_script_consumption.py34
-rw-r--r--tests/test_script_production.py58
-rw-r--r--tests/test_sqlite.py11
-rw-r--r--tests/test_version_table.py17
-rw-r--r--tests/test_version_traversal.py79
77 files changed, 951 insertions, 838 deletions
diff --git a/alembic/__init__.py b/alembic/__init__.py
index a7a2845..8e49924 100644
--- a/alembic/__init__.py
+++ b/alembic/__init__.py
@@ -1,16 +1,14 @@
from os import path
+import sys
-__version__ = "1.0.6"
-
-package_dir = path.abspath(path.dirname(__file__))
-
-
-from . import op # noqa
from . import context # noqa
-
-import sys
+from . import op # noqa
from .runtime import environment
from .runtime import migration
+__version__ = "1.0.6"
+
+package_dir = path.abspath(path.dirname(__file__))
+
sys.modules["alembic.migration"] = migration
sys.modules["alembic.environment"] = environment
diff --git a/alembic/autogenerate/__init__.py b/alembic/autogenerate/__init__.py
index ad3e6e1..a0f8ec2 100644
--- a/alembic/autogenerate/__init__.py
+++ b/alembic/autogenerate/__init__.py
@@ -1,10 +1,10 @@
-from .api import ( # noqa
- compare_metadata,
- _render_migration_diffs,
- produce_migrations,
- render_python_code,
- RevisionContext,
-)
-from .compare import _produce_net_changes, comparators # noqa
-from .render import render_op_text, renderers # noqa
+from .api import _render_migration_diffs # noqa
+from .api import compare_metadata # noqa
+from .api import produce_migrations # noqa
+from .api import render_python_code # noqa
+from .api import RevisionContext # noqa
+from .compare import _produce_net_changes # noqa
+from .compare import comparators # noqa
+from .render import render_op_text # noqa
+from .render import renderers # noqa
from .rewriter import Rewriter # noqa
diff --git a/alembic/autogenerate/api.py b/alembic/autogenerate/api.py
index cfd6e86..709e97d 100644
--- a/alembic/autogenerate/api.py
+++ b/alembic/autogenerate/api.py
@@ -1,12 +1,14 @@
"""Provide the 'autogenerate' feature which can produce migration operations
automatically."""
-from ..operations import ops
-from . import render
+import contextlib
+
+from sqlalchemy.engine.reflection import Inspector
+
from . import compare
+from . import render
from .. import util
-from sqlalchemy.engine.reflection import Inspector
-import contextlib
+from ..operations import ops
def compare_metadata(context, metadata):
@@ -226,8 +228,8 @@ class AutogenContext(object):
The directives are to be rendered into the ``${imports}`` section
of a script template. The set is normally empty and can be modified
- within hooks such as the :paramref:`.EnvironmentContext.configure.render_item`
- hook.
+ within hooks such as the
+ :paramref:`.EnvironmentContext.configure.render_item` hook.
.. versionadded:: 0.8.3
@@ -281,10 +283,10 @@ class AutogenContext(object):
if include_symbol:
def include_symbol_filter(
- object, name, type_, reflected, compare_to
+ object_, name, type_, reflected, compare_to
):
if type_ == "table":
- return include_symbol(name, object.schema)
+ return include_symbol(name, object_.schema)
else:
return True
diff --git a/alembic/autogenerate/compare.py b/alembic/autogenerate/compare.py
index 7ff8be6..1bea255 100644
--- a/alembic/autogenerate/compare.py
+++ b/alembic/autogenerate/compare.py
@@ -1,16 +1,19 @@
-from sqlalchemy import schema as sa_schema, types as sqltypes
-from sqlalchemy.engine.reflection import Inspector
-from sqlalchemy import event
-from ..operations import ops
+import contextlib
import logging
+import re
+
+from sqlalchemy import event
+from sqlalchemy import schema as sa_schema
+from sqlalchemy import types as sqltypes
+from sqlalchemy.engine.reflection import Inspector
+from sqlalchemy.util import OrderedSet
+
+from alembic.ddl.base import _fk_spec
+from .render import _user_defined_render
from .. import util
+from ..operations import ops
from ..util import compat
from ..util import sqla_compat
-from sqlalchemy.util import OrderedSet
-import re
-from .render import _user_defined_render
-import contextlib
-from alembic.ddl.base import _fk_spec
log = logging.getLogger(__name__)
@@ -152,9 +155,11 @@ def _compare_tables(
event.listen(
t,
"column_reflect",
- autogen_context.migration_context.impl._compat_autogen_column_reflect(
- inspector
- ),
+ # fmt: off
+ autogen_context.migration_context.impl.
+ _compat_autogen_column_reflect
+ (inspector),
+ # fmt: on
)
inspector.reflecttable(t, None)
if autogen_context.run_filters(t, tname, "table", True, None):
@@ -182,9 +187,10 @@ def _compare_tables(
event.listen(
t,
"column_reflect",
- autogen_context.migration_context.impl._compat_autogen_column_reflect(
- inspector
- ),
+ # fmt: off
+ autogen_context.migration_context.impl.
+ _compat_autogen_column_reflect(inspector),
+ # fmt: on
)
inspector.reflecttable(t, None)
conn_column_info[(s, tname)] = t
diff --git a/alembic/autogenerate/render.py b/alembic/autogenerate/render.py
index 573ee02..3b6e935 100644
--- a/alembic/autogenerate/render.py
+++ b/alembic/autogenerate/render.py
@@ -1,11 +1,15 @@
-from sqlalchemy import schema as sa_schema, types as sqltypes, sql
+import re
+
+from mako.pygen import PythonPrinter
+from sqlalchemy import schema as sa_schema
+from sqlalchemy import sql
+from sqlalchemy import types as sqltypes
+
+from .. import util
from ..operations import ops
from ..util import compat
from ..util import sqla_compat
-import re
from ..util.compat import string_types
-from .. import util
-from mako.pygen import PythonPrinter
from ..util.compat import StringIO
diff --git a/alembic/command.py b/alembic/command.py
index 20027b4..5416c42 100644
--- a/alembic/command.py
+++ b/alembic/command.py
@@ -1,9 +1,9 @@
import os
-from .script import ScriptDirectory
-from .runtime.environment import EnvironmentContext
-from . import util
from . import autogenerate as autogen
+from . import util
+from .runtime.environment import EnvironmentContext
+from .script import ScriptDirectory
def list_templates(config):
@@ -100,7 +100,8 @@ def revision(
``-m`` option to ``alembic revision``.
:param autogenerate: whether or not to autogenerate the script from
- the database; this is the ``--autogenerate`` option to ``alembic revision``.
+ the database; this is the ``--autogenerate`` option to
+ ``alembic revision``.
:param sql: whether to dump the script out as a SQL string; when specified,
the script is dumped to stdout. This is the ``--sql`` option to
diff --git a/alembic/config.py b/alembic/config.py
index 915091c..a4462ee 100644
--- a/alembic/config.py
+++ b/alembic/config.py
@@ -1,13 +1,13 @@
from argparse import ArgumentParser
-from .util.compat import SafeConfigParser
import inspect
import os
import sys
from . import command
-from . import util
from . import package_dir
+from . import util
from .util import compat
+from .util.compat import SafeConfigParser
class Config(object):
diff --git a/alembic/ddl/__init__.py b/alembic/ddl/__init__.py
index d225c45..7d50ba0 100644
--- a/alembic/ddl/__init__.py
+++ b/alembic/ddl/__init__.py
@@ -1,2 +1,6 @@
-from . import postgresql, mysql, sqlite, mssql, oracle # pragma: no cover
-from .impl import DefaultImpl # pragma: no cover
+from . import mssql # noqa
+from . import mysql # noqa
+from . import oracle # noqa
+from . import postgresql # noqa
+from . import sqlite # noqa
+from .impl import DefaultImpl # noqa
diff --git a/alembic/ddl/base.py b/alembic/ddl/base.py
index f177a07..b0de136 100644
--- a/alembic/ddl/base.py
+++ b/alembic/ddl/base.py
@@ -1,19 +1,19 @@
import functools
-from sqlalchemy.ext.compiler import compiles
-from sqlalchemy.schema import DDLElement, Column
from sqlalchemy import Integer
from sqlalchemy import types as sqltypes
+from sqlalchemy.ext.compiler import compiles
+from sqlalchemy.schema import Column
+from sqlalchemy.schema import DDLElement
+
from .. import util
+from ..util.sqla_compat import _columns_for_constraint # noqa
+from ..util.sqla_compat import _find_columns # noqa
+from ..util.sqla_compat import _fk_spec # noqa
+from ..util.sqla_compat import _is_type_bound # noqa
+from ..util.sqla_compat import _table_for_constraint # noqa
# backwards compat
-from ..util.sqla_compat import ( # noqa
- _table_for_constraint,
- _columns_for_constraint,
- _fk_spec,
- _is_type_bound,
- _find_columns,
-)
if util.sqla_09:
from sqlalchemy.sql.elements import quoted_name
diff --git a/alembic/ddl/impl.py b/alembic/ddl/impl.py
index 4e3ff04..dd1be58 100644
--- a/alembic/ddl/impl.py
+++ b/alembic/ddl/impl.py
@@ -1,10 +1,13 @@
-from sqlalchemy import schema, text
+from sqlalchemy import schema
+from sqlalchemy import text
from sqlalchemy import types as sqltypes
-from ..util.compat import string_types, text_type, with_metaclass
-from ..util import sqla_compat
-from .. import util
from . import base
+from .. import util
+from ..util import sqla_compat
+from ..util.compat import string_types
+from ..util.compat import text_type
+from ..util.compat import with_metaclass
class ImplMeta(type):
diff --git a/alembic/ddl/mssql.py b/alembic/ddl/mssql.py
index 7f43a89..de2168b 100644
--- a/alembic/ddl/mssql.py
+++ b/alembic/ddl/mssql.py
@@ -1,24 +1,24 @@
+from sqlalchemy import types as sqltypes
from sqlalchemy.ext.compiler import compiles
-
-from .. import util
+from sqlalchemy.schema import Column
+from sqlalchemy.schema import CreateIndex
+from sqlalchemy.sql.expression import ClauseElement
+from sqlalchemy.sql.expression import Executable
+
+from .base import AddColumn
+from .base import alter_column
+from .base import alter_table
+from .base import ColumnDefault
+from .base import ColumnName
+from .base import ColumnNullable
+from .base import ColumnType
+from .base import format_column_name
+from .base import format_server_default
+from .base import format_table_name
+from .base import format_type
+from .base import RenameTable
from .impl import DefaultImpl
-from .base import (
- alter_table,
- AddColumn,
- ColumnName,
- RenameTable,
- format_table_name,
- format_column_name,
- ColumnNullable,
- alter_column,
- format_server_default,
- ColumnDefault,
- format_type,
- ColumnType,
-)
-from sqlalchemy.sql.expression import ClauseElement, Executable
-from sqlalchemy.schema import CreateIndex, Column
-from sqlalchemy import types as sqltypes
+from .. import util
class MSSQLImpl(DefaultImpl):
diff --git a/alembic/ddl/mysql.py b/alembic/ddl/mysql.py
index bc98005..29f416e 100644
--- a/alembic/ddl/mysql.py
+++ b/alembic/ddl/mysql.py
@@ -1,23 +1,23 @@
-from sqlalchemy.ext.compiler import compiles
-from sqlalchemy import types as sqltypes
+import re
+
from sqlalchemy import schema
+from sqlalchemy import types as sqltypes
+from sqlalchemy.ext.compiler import compiles
-from ..util.compat import string_types
-from .. import util
-from .impl import DefaultImpl
-from .base import (
- ColumnNullable,
- ColumnName,
- ColumnDefault,
- ColumnType,
- AlterColumn,
- format_column_name,
- format_server_default,
-)
from .base import alter_table
+from .base import AlterColumn
+from .base import ColumnDefault
+from .base import ColumnName
+from .base import ColumnNullable
+from .base import ColumnType
+from .base import format_column_name
+from .base import format_server_default
+from .impl import DefaultImpl
+from .. import util
from ..autogenerate import compare
-from ..util.sqla_compat import _is_type_bound, sqla_100
-import re
+from ..util.compat import string_types
+from ..util.sqla_compat import _is_type_bound
+from ..util.sqla_compat import sqla_100
class MySQLImpl(DefaultImpl):
diff --git a/alembic/ddl/oracle.py b/alembic/ddl/oracle.py
index 3376155..4bd92e3 100644
--- a/alembic/ddl/oracle.py
+++ b/alembic/ddl/oracle.py
@@ -1,17 +1,15 @@
from sqlalchemy.ext.compiler import compiles
+from .base import AddColumn
+from .base import alter_table
+from .base import ColumnDefault
+from .base import ColumnName
+from .base import ColumnNullable
+from .base import ColumnType
+from .base import format_column_name
+from .base import format_server_default
+from .base import format_type
from .impl import DefaultImpl
-from .base import (
- alter_table,
- AddColumn,
- ColumnName,
- format_column_name,
- ColumnNullable,
- format_server_default,
- ColumnDefault,
- format_type,
- ColumnType,
-)
class OracleImpl(DefaultImpl):
diff --git a/alembic/ddl/postgresql.py b/alembic/ddl/postgresql.py
index f133a05..d5d8e6e 100644
--- a/alembic/ddl/postgresql.py
+++ b/alembic/ddl/postgresql.py
@@ -1,33 +1,32 @@
+import logging
import re
-from ..util import compat
-from .. import util
-from .base import (
- compiles,
- alter_column,
- alter_table,
- format_table_name,
- format_type,
- AlterColumn,
- RenameTable,
-)
-from .impl import DefaultImpl
-from sqlalchemy.dialects.postgresql import INTEGER, BIGINT
-from ..autogenerate import render
-from sqlalchemy import text, Numeric, Column
+from sqlalchemy import Column
+from sqlalchemy import Numeric
+from sqlalchemy import text
+from sqlalchemy import types as sqltypes
+from sqlalchemy.dialects.postgresql import BIGINT
+from sqlalchemy.dialects.postgresql import INTEGER
from sqlalchemy.sql.expression import ColumnClause
+from sqlalchemy.sql.expression import UnaryExpression
from sqlalchemy.types import NULLTYPE
-from sqlalchemy import types as sqltypes
-from ..operations.base import Operations
-from ..operations.base import BatchOperations
+from .base import alter_column
+from .base import alter_table
+from .base import AlterColumn
+from .base import compiles
+from .base import format_table_name
+from .base import format_type
+from .base import RenameTable
+from .impl import DefaultImpl
+from .. import util
+from ..autogenerate import render
from ..operations import ops
-from ..util import sqla_compat
from ..operations import schemaobj
-
-import logging
-
-from sqlalchemy.sql.expression import UnaryExpression
+from ..operations.base import BatchOperations
+from ..operations.base import Operations
+from ..util import compat
+from ..util import sqla_compat
if util.sqla_100:
from sqlalchemy.dialects.postgresql import ExcludeConstraint
@@ -150,7 +149,8 @@ class PostgresqlImpl(DefaultImpl):
info = inspector.bind.execute(
text(
"select c.relname, a.attname "
- "from pg_class as c join pg_depend d on d.objid=c.oid and "
+ "from pg_class as c join "
+ "pg_depend d on d.objid=c.oid and "
"d.classid='pg_class'::regclass and "
"d.refclassid='pg_class'::regclass "
"join pg_class t on t.oid=d.refobjid "
diff --git a/alembic/ddl/sqlite.py b/alembic/ddl/sqlite.py
index f7699e6..c0385e1 100644
--- a/alembic/ddl/sqlite.py
+++ b/alembic/ddl/sqlite.py
@@ -1,7 +1,8 @@
-from .. import util
-from .impl import DefaultImpl
import re
+from .impl import DefaultImpl
+from .. import util
+
class SQLiteImpl(DefaultImpl):
__dialect__ = "sqlite"
diff --git a/alembic/operations/__init__.py b/alembic/operations/__init__.py
index e1ff01c..e3fa44a 100644
--- a/alembic/operations/__init__.py
+++ b/alembic/operations/__init__.py
@@ -1,6 +1,7 @@
-from .base import Operations, BatchOperations
+from .base import BatchOperations
+from .base import Operations
from .ops import MigrateOperation
-from . import toimpl
+from . import toimpl # noqa
__all__ = ["Operations", "BatchOperations", "MigrateOperation"]
diff --git a/alembic/operations/base.py b/alembic/operations/base.py
index 2c3408a..90b3500 100644
--- a/alembic/operations/base.py
+++ b/alembic/operations/base.py
@@ -1,13 +1,13 @@
from contextlib import contextmanager
+import textwrap
-from .. import util
-from ..util import sqla_compat
from . import batch
from . import schemaobj
+from .. import util
+from ..util import sqla_compat
from ..util.compat import exec_
from ..util.compat import inspect_formatargspec
from ..util.compat import inspect_getargspec
-import textwrap
__all__ = ("Operations", "BatchOperations")
diff --git a/alembic/operations/batch.py b/alembic/operations/batch.py
index 9362876..9e829b3 100644
--- a/alembic/operations/batch.py
+++ b/alembic/operations/batch.py
@@ -1,25 +1,21 @@
-from sqlalchemy import (
- Table,
- MetaData,
- Index,
- select,
- Column,
- ForeignKeyConstraint,
- PrimaryKeyConstraint,
- cast,
- CheckConstraint,
-)
-from sqlalchemy import types as sqltypes
+from sqlalchemy import cast
+from sqlalchemy import CheckConstraint
+from sqlalchemy import Column
+from sqlalchemy import ForeignKeyConstraint
+from sqlalchemy import Index
+from sqlalchemy import MetaData
+from sqlalchemy import PrimaryKeyConstraint
from sqlalchemy import schema as sql_schema
-from sqlalchemy.util import OrderedDict
-from .. import util
+from sqlalchemy import select
+from sqlalchemy import Table
+from sqlalchemy import types as sqltypes
from sqlalchemy.events import SchemaEventTarget
-from ..util.sqla_compat import (
- _columns_for_constraint,
- _is_type_bound,
- _fk_is_self_referential,
- _remove_column_from_collection,
-)
+from sqlalchemy.util import OrderedDict
+
+from ..util.sqla_compat import _columns_for_constraint
+from ..util.sqla_compat import _fk_is_self_referential
+from ..util.sqla_compat import _is_type_bound
+from ..util.sqla_compat import _remove_column_from_collection
class BatchOperationsImpl(object):
diff --git a/alembic/operations/ops.py b/alembic/operations/ops.py
index 5824469..1b104f0 100644
--- a/alembic/operations/ops.py
+++ b/alembic/operations/ops.py
@@ -1,9 +1,12 @@
+import re
+
+from sqlalchemy.types import NULLTYPE
+
+from . import schemaobj
+from .base import BatchOperations
+from .base import Operations
from .. import util
from ..util import sqla_compat
-from . import schemaobj
-from sqlalchemy.types import NULLTYPE
-from .base import Operations, BatchOperations
-import re
class MigrateOperation(object):
@@ -503,9 +506,18 @@ class CreateForeignKeyOp(AddConstraintOp):
if constraint.use_alter:
kw["use_alter"] = constraint.use_alter
- source_schema, source_table, source_columns, target_schema, target_table, target_columns, onupdate, ondelete, deferrable, initially = sqla_compat._fk_spec(
- constraint
- )
+ (
+ source_schema,
+ source_table,
+ source_columns,
+ target_schema,
+ target_table,
+ target_columns,
+ onupdate,
+ ondelete,
+ deferrable,
+ initially,
+ ) = sqla_compat._fk_spec(constraint)
kw["source_schema"] = source_schema
kw["referent_schema"] = target_schema
@@ -1383,7 +1395,9 @@ class AlterColumnOp(AlterTableOp):
cname,
{
"existing_nullable": self.existing_nullable,
- "existing_server_default": self.existing_server_default,
+ "existing_server_default": (
+ self.existing_server_default
+ ),
},
self.existing_type,
self.modify_type,
@@ -1399,7 +1413,9 @@ class AlterColumnOp(AlterTableOp):
cname,
{
"existing_type": self.existing_type,
- "existing_server_default": self.existing_server_default,
+ "existing_server_default": (
+ self.existing_server_default
+ ),
},
self.existing_nullable,
self.modify_nullable,
@@ -1945,7 +1961,7 @@ class ExecuteSQLOp(MigrateOperation):
@classmethod
def execute(cls, operations, sqltext, execution_options=None):
- """Execute the given SQL using the current migration context.
+ r"""Execute the given SQL using the current migration context.
The given SQL can be a plain string, e.g.::
diff --git a/alembic/operations/schemaobj.py b/alembic/operations/schemaobj.py
index 548b6c5..d90b5e6 100644
--- a/alembic/operations/schemaobj.py
+++ b/alembic/operations/schemaobj.py
@@ -1,7 +1,9 @@
from sqlalchemy import schema as sa_schema
-from sqlalchemy.types import NULLTYPE, Integer
-from ..util.compat import string_types
+from sqlalchemy.types import Integer
+from sqlalchemy.types import NULLTYPE
+
from .. import util
+from ..util.compat import string_types
class SchemaObjects(object):
diff --git a/alembic/operations/toimpl.py b/alembic/operations/toimpl.py
index 1635a42..aa00f81 100644
--- a/alembic/operations/toimpl.py
+++ b/alembic/operations/toimpl.py
@@ -1,7 +1,7 @@
-from . import ops
+from sqlalchemy import schema as sa_schema
from . import Operations
-from sqlalchemy import schema as sa_schema
+from . import ops
@Operations.implementation_for(ops.AlterColumnOp)
diff --git a/alembic/runtime/environment.py b/alembic/runtime/environment.py
index 32db3ae..c4d6586 100644
--- a/alembic/runtime/environment.py
+++ b/alembic/runtime/environment.py
@@ -1,6 +1,6 @@
-from ..operations import Operations
from .migration import MigrationContext
from .. import util
+from ..operations import Operations
class EnvironmentContext(util.ModuleClsProxy):
diff --git a/alembic/runtime/migration.py b/alembic/runtime/migration.py
index 80dc8ff..a4ad740 100644
--- a/alembic/runtime/migration.py
+++ b/alembic/runtime/migration.py
@@ -1,21 +1,21 @@
+from contextlib import contextmanager
import logging
import sys
-from contextlib import contextmanager
-from sqlalchemy import (
- MetaData,
- Table,
- Column,
- String,
- literal_column,
- PrimaryKeyConstraint,
-)
-from sqlalchemy.engine.strategies import MockEngineStrategy
-from sqlalchemy.engine import url as sqla_url
+from sqlalchemy import Column
+from sqlalchemy import literal_column
+from sqlalchemy import MetaData
+from sqlalchemy import PrimaryKeyConstraint
+from sqlalchemy import String
+from sqlalchemy import Table
from sqlalchemy.engine import Connection
+from sqlalchemy.engine import url as sqla_url
+from sqlalchemy.engine.strategies import MockEngineStrategy
-from ..util.compat import callable, EncodedIO
-from .. import ddl, util
+from .. import ddl
+from .. import util
+from ..util.compat import callable
+from ..util.compat import EncodedIO
log = logging.getLogger(__name__)
@@ -693,7 +693,10 @@ class MigrationInfo(object):
@property
def up_revision(self):
- """Get :attr:`~.MigrationInfo.up_revision_id` as a :class:`.Revision`."""
+ """Get :attr:`~.MigrationInfo.up_revision_id` as
+ a :class:`.Revision`.
+
+ """
return self.revision_map.get_revision(self.up_revision_id)
@property
diff --git a/alembic/script/__init__.py b/alembic/script/__init__.py
index 65562b4..540d627 100644
--- a/alembic/script/__init__.py
+++ b/alembic/script/__init__.py
@@ -1,3 +1,4 @@
-from .base import ScriptDirectory, Script # noqa
+from .base import Script # noqa
+from .base import ScriptDirectory # noqa
__all__ = ["ScriptDirectory", "Script"]
diff --git a/alembic/script/base.py b/alembic/script/base.py
index 1c63e08..b386dea 100644
--- a/alembic/script/base.py
+++ b/alembic/script/base.py
@@ -1,14 +1,15 @@
+from contextlib import contextmanager
import datetime
-from dateutil import tz
import os
import re
import shutil
-from .. import util
-from ..util import compat
+
+from dateutil import tz
+
from . import revision
+from .. import util
from ..runtime import migration
-
-from contextlib import contextmanager
+from ..util import compat
_sourceless_rev_file = re.compile(r"(?!\.\#|__init__)(.*\.py)(c|o)?$")
_only_source_rev_file = re.compile(r"(?!\.\#|__init__)(.*\.py)$")
@@ -42,7 +43,7 @@ class ScriptDirectory(object):
def __init__(
self,
- dir,
+ dir, # noqa
file_template=_default_file_template,
truncate_slug_length=40,
version_locations=None,
diff --git a/alembic/script/revision.py b/alembic/script/revision.py
index 832cce1..af08688 100644
--- a/alembic/script/revision.py
+++ b/alembic/script/revision.py
@@ -1,8 +1,9 @@
-import re
import collections
+import re
-from .. import util
from sqlalchemy import util as sqlautil
+
+from .. import util
from ..util import compat
_relative_destination = re.compile(r"(?:(.+?)@)?(\w+)?((?:\+|-)\d+)")
diff --git a/alembic/templates/generic/env.py b/alembic/templates/generic/env.py
index f3df952..a1b1674 100644
--- a/alembic/templates/generic/env.py
+++ b/alembic/templates/generic/env.py
@@ -1,8 +1,12 @@
from __future__ import with_statement
-from alembic import context
-from sqlalchemy import engine_from_config, pool
+
from logging.config import fileConfig
+from sqlalchemy import engine_from_config
+from sqlalchemy import pool
+
+from alembic import context
+
# this is the Alembic Config object, which provides
# access to the values within the .ini file in use.
config = context.config
diff --git a/alembic/templates/multidb/env.py b/alembic/templates/multidb/env.py
index f5ad3d4..dc04acf 100644
--- a/alembic/templates/multidb/env.py
+++ b/alembic/templates/multidb/env.py
@@ -1,10 +1,14 @@
from __future__ import with_statement
-from alembic import context
-from sqlalchemy import engine_from_config, pool
-from logging.config import fileConfig
+
import logging
+from logging.config import fileConfig
import re
+from sqlalchemy import engine_from_config
+from sqlalchemy import pool
+
+from alembic import context
+
USE_TWOPHASE = False
# this is the Alembic Config object, which provides
diff --git a/alembic/templates/pylons/env.py b/alembic/templates/pylons/env.py
index 8c06cdc..f8abf44 100644
--- a/alembic/templates/pylons/env.py
+++ b/alembic/templates/pylons/env.py
@@ -4,10 +4,11 @@ Place 'pylons_config_file' into alembic.ini, and the application will
be loaded from there.
"""
-from alembic import context
-from paste.deploy import loadapp
from logging.config import fileConfig
-from sqlalchemy.engine.base import Engine
+
+from paste.deploy import loadapp
+
+from alembic import context
try:
@@ -68,7 +69,7 @@ def run_migrations_online():
# engine = meta.engine
raise NotImplementedError("Please specify engine connectivity here")
- with engine.connect() as connection:
+ with engine.connect() as connection: # noqa
context.configure(
connection=connection, target_metadata=target_metadata
)
diff --git a/alembic/testing/__init__.py b/alembic/testing/__init__.py
index 70c28e0..765dd7b 100644
--- a/alembic/testing/__init__.py
+++ b/alembic/testing/__init__.py
@@ -1,17 +1,11 @@
-from .fixtures import TestBase
-from .assertions import (
- eq_,
- ne_,
- is_,
- is_not_,
- assert_raises_message,
- eq_ignore_whitespace,
- assert_raises,
-)
-
-from .util import provide_metadata
-
-from alembic import util
-
-
-from .config import requirements as requires
+from alembic import util # noqa
+from .assertions import assert_raises # noqa
+from .assertions import assert_raises_message # noqa
+from .assertions import eq_ # noqa
+from .assertions import eq_ignore_whitespace # noqa
+from .assertions import is_ # noqa
+from .assertions import is_not_ # noqa
+from .assertions import ne_ # noqa
+from .config import requirements as requires # noqa
+from .fixtures import TestBase # noqa
+from .util import provide_metadata # noqa
diff --git a/alembic/testing/assertions.py b/alembic/testing/assertions.py
index c25b444..196e791 100644
--- a/alembic/testing/assertions.py
+++ b/alembic/testing/assertions.py
@@ -1,17 +1,19 @@
from __future__ import absolute_import
-
+import contextlib
import re
-from .. import util
+import warnings
+
+from sqlalchemy import exc as sa_exc
from sqlalchemy.engine import default
-from ..util.compat import text_type, py3k
-import contextlib
from sqlalchemy.util import decorator
-from sqlalchemy import exc as sa_exc
-import warnings
+
+from . import config
from . import mock
from .exclusions import db_spec
-from . import config
+from .. import util
+from ..util.compat import py3k
+from ..util.compat import text_type
if not util.sqla_094:
@@ -55,14 +57,12 @@ if not util.sqla_094:
else:
- from sqlalchemy.testing.assertions import (
- eq_,
- ne_,
- is_,
- is_not_,
- assert_raises_message,
- assert_raises,
- )
+ from sqlalchemy.testing.assertions import assert_raises # noqa
+ from sqlalchemy.testing.assertions import assert_raises_message # noqa
+ from sqlalchemy.testing.assertions import eq_ # noqa
+ from sqlalchemy.testing.assertions import is_ # noqa
+ from sqlalchemy.testing.assertions import is_not_ # noqa
+ from sqlalchemy.testing.assertions import ne_ # noqa
def eq_ignore_whitespace(a, b, msg=None):
diff --git a/alembic/testing/env.py b/alembic/testing/env.py
index 51483d1..04ebfe5 100644
--- a/alembic/testing/env.py
+++ b/alembic/testing/env.py
@@ -4,11 +4,14 @@ import os
import shutil
import textwrap
-from ..util.compat import u, has_pep3147, get_current_bytecode_suffixes
-from ..script import Script, ScriptDirectory
-from .. import util
from . import engines
from . import provision
+from .. import util
+from ..script import Script
+from ..script import ScriptDirectory
+from ..util.compat import get_current_bytecode_suffixes
+from ..util.compat import has_pep3147
+from ..util.compat import u
def _get_staging_directory():
diff --git a/alembic/testing/exclusions.py b/alembic/testing/exclusions.py
index 41ed547..af18593 100644
--- a/alembic/testing/exclusions.py
+++ b/alembic/testing/exclusions.py
@@ -9,15 +9,17 @@
"""
+import contextlib
import operator
-from .plugin.plugin_base import SkipTest
+
+from sqlalchemy import util
from sqlalchemy.util import decorator
+
from . import config
-from sqlalchemy import util
+from .compat import get_url_backend_name
+from .compat import get_url_driver_name
+from .plugin.plugin_base import SkipTest
from ..util import compat
-import inspect
-import contextlib
-from .compat import get_url_driver_name, get_url_backend_name
def skip_if(predicate, reason=None):
@@ -389,7 +391,7 @@ def db_spec(*dbs):
return OrPredicate([Predicate.as_predicate(db) for db in dbs])
-def open():
+def open(): # noqa
return skip_if(BooleanPredicate(False, "mark as execute"))
diff --git a/alembic/testing/fixtures.py b/alembic/testing/fixtures.py
index b812476..e0b8fdf 100644
--- a/alembic/testing/fixtures.py
+++ b/alembic/testing/fixtures.py
@@ -1,20 +1,24 @@
# coding: utf-8
+from contextlib import contextmanager
import io
import re
-from sqlalchemy import create_engine, text, MetaData
+from sqlalchemy import create_engine
+from sqlalchemy import MetaData
+from sqlalchemy import text
import alembic
-from ..util.compat import configparser
+from . import mock
+from .assertions import _get_dialect
+from .assertions import eq_
+from .plugin.plugin_base import SkipTest
from .. import util
-from ..util.compat import string_types, text_type
-from ..migration import MigrationContext
from ..environment import EnvironmentContext
+from ..migration import MigrationContext
from ..operations import Operations
-from contextlib import contextmanager
-from .plugin.plugin_base import SkipTest
-from .assertions import _get_dialect, eq_
-from . import mock
+from ..util.compat import configparser
+from ..util.compat import string_types
+from ..util.compat import text_type
testing_config = configparser.ConfigParser()
testing_config.read(["test.cfg"])
@@ -37,8 +41,8 @@ if not util.sqla_094:
# dialect. If you need multiple, use __unsupported_on__ and invert.
__only_on__ = None
- # A sequence of no-arg callables. If any are True, the entire testcase is
- # skipped.
+ # A sequence of no-arg callables. If any are True, the entire
+ # testcase is skipped.
__skip_if__ = None
def assert_(self, val, msg=None):
@@ -55,7 +59,7 @@ if not util.sqla_094:
else:
- from sqlalchemy.testing.fixtures import TestBase
+ from sqlalchemy.testing.fixtures import TestBase # noqa
def capture_db():
diff --git a/alembic/testing/mock.py b/alembic/testing/mock.py
index 1d5256d..c0c38a0 100644
--- a/alembic/testing/mock.py
+++ b/alembic/testing/mock.py
@@ -7,11 +7,14 @@
"""Import stub for mock library.
- NOTE: copied/adapted from SQLAlchemy master for backwards compatibility;
- this should be removable when Alembic targets SQLAlchemy 1.0.0
+ .. note::
+
+ copied/adapted from SQLAlchemy master for backwards compatibility;
+ this should be removable when Alembic targets SQLAlchemy 1.0.0
"""
from __future__ import absolute_import
+
from ..util.compat import py3k
if py3k:
diff --git a/alembic/testing/plugin/plugin_base.py b/alembic/testing/plugin/plugin_base.py
index 9acffb5..44930c8 100644
--- a/alembic/testing/plugin/plugin_base.py
+++ b/alembic/testing/plugin/plugin_base.py
@@ -18,6 +18,9 @@ this should be removable when Alembic targets SQLAlchemy 1.0.0
from __future__ import absolute_import
+import re
+import sys
+
try:
# unitttest has a SkipTest also but pytest doesn't
# honor it unless nose is imported too...
@@ -27,9 +30,6 @@ except ImportError:
SkipTest = skip.Exception
-import sys
-import re
-
py3k = sys.version_info.major >= 3
if py3k:
@@ -236,7 +236,8 @@ def post_begin():
# late imports, has to happen after config as well
# as nose plugins like coverage
- global util, fixtures, engines, exclusions, assertions, warnings, profiling, config, testing
+ global util, fixtures, engines, exclusions, assertions
+ global warnings, profiling, config, testing
from alembic.testing import config, warnings, exclusions # noqa
from alembic.testing import engines, fixtures # noqa
from sqlalchemy import util # noqa
diff --git a/alembic/testing/plugin/pytestplugin.py b/alembic/testing/plugin/pytestplugin.py
index cc5b69f..5a3bb73 100644
--- a/alembic/testing/plugin/pytestplugin.py
+++ b/alembic/testing/plugin/pytestplugin.py
@@ -9,15 +9,15 @@ except ImportError:
# assume we're a package, use traditional import
from . import plugin_base
-import sys
-
-py3k = sys.version_info.major >= 3
-
-import pytest
import argparse
-import inspect
import collections
+import inspect
import os
+import sys
+
+import pytest
+
+py3k = sys.version_info.major >= 3
try:
import xdist # noqa
@@ -52,7 +52,7 @@ def pytest_addoption(parser):
dest,
default=False,
required=False,
- help=None,
+ help=None, # noqa
):
super(CallableAction, self).__init__(
option_strings=option_strings,
diff --git a/alembic/testing/provision.py b/alembic/testing/provision.py
index a5ce53c..9687b75 100644
--- a/alembic/testing/provision.py
+++ b/alembic/testing/provision.py
@@ -1,17 +1,20 @@
"""NOTE: copied/adapted from SQLAlchemy master for backwards compatibility;
this should be removable when Alembic targets SQLAlchemy 1.0.0
"""
-from sqlalchemy.engine import url as sa_url
-from sqlalchemy import create_engine
-from sqlalchemy import text
-from sqlalchemy import exc
-from ..util import compat
-from . import config, engines
-from .compat import get_url_backend_name
import collections
+import logging
import os
import time
-import logging
+
+from sqlalchemy import create_engine
+from sqlalchemy import exc
+from sqlalchemy import text
+from sqlalchemy.engine import url as sa_url
+
+from . import config
+from . import engines
+from .compat import get_url_backend_name
+from ..util import compat
log = logging.getLogger(__name__)
diff --git a/alembic/testing/requirements.py b/alembic/testing/requirements.py
index f25f5d7..8c02254 100644
--- a/alembic/testing/requirements.py
+++ b/alembic/testing/requirements.py
@@ -1,5 +1,4 @@
from alembic import util
-
from . import exclusions
if util.sqla_094:
diff --git a/alembic/testing/runner.py b/alembic/testing/runner.py
index 46236a0..da5e0f4 100644
--- a/alembic/testing/runner.py
+++ b/alembic/testing/runner.py
@@ -29,9 +29,10 @@ plugin in a special (somewhat hacky) way so that coverage against
SQLAlchemy itself is possible.
"""
-from .plugin.noseplugin import NoseSQLAlchemy
import nose
+from .plugin.noseplugin import NoseSQLAlchemy
+
def main():
nose.main(addplugins=[NoseSQLAlchemy()])
diff --git a/alembic/testing/warnings.py b/alembic/testing/warnings.py
index cb59a64..27ba706 100644
--- a/alembic/testing/warnings.py
+++ b/alembic/testing/warnings.py
@@ -10,9 +10,10 @@
from __future__ import absolute_import
+import re
import warnings
+
from sqlalchemy import exc as sa_exc
-import re
def setup_filters():
diff --git a/alembic/util/__init__.py b/alembic/util/__init__.py
index e28f715..18d25cd 100644
--- a/alembic/util/__init__.py
+++ b/alembic/util/__init__.py
@@ -1,44 +1,36 @@
-from .langhelpers import ( # noqa
- asbool,
- rev_id,
- to_tuple,
- to_list,
- memoized_property,
- dedupe_tuple,
- immutabledict,
- _with_legacy_names,
- Dispatcher,
- ModuleClsProxy,
-)
-from .messaging import ( # noqa
- write_outstream,
- status,
- err,
- obfuscate_url_pw,
- warn,
- msg,
- format_as_comma,
-)
-from .pyfiles import ( # noqa
- template_to_file,
- coerce_resource_to_filename,
- pyc_file_from_path,
- load_python_file,
- edit,
-)
-from .sqla_compat import ( # noqa
- sqla_09,
- sqla_092,
- sqla_094,
- sqla_099,
- sqla_100,
- sqla_105,
- sqla_110,
- sqla_1010,
- sqla_1014,
- sqla_1115,
-)
from .exc import CommandError
+from .langhelpers import _with_legacy_names # noqa
+from .langhelpers import asbool # noqa
+from .langhelpers import dedupe_tuple # noqa
+from .langhelpers import Dispatcher # noqa
+from .langhelpers import immutabledict # noqa
+from .langhelpers import memoized_property # noqa
+from .langhelpers import ModuleClsProxy # noqa
+from .langhelpers import rev_id # noqa
+from .langhelpers import to_list # noqa
+from .langhelpers import to_tuple # noqa
+from .messaging import err # noqa
+from .messaging import format_as_comma # noqa
+from .messaging import msg # noqa
+from .messaging import obfuscate_url_pw # noqa
+from .messaging import status # noqa
+from .messaging import warn # noqa
+from .messaging import write_outstream # noqa
+from .pyfiles import coerce_resource_to_filename # noqa
+from .pyfiles import edit # noqa
+from .pyfiles import load_python_file # noqa
+from .pyfiles import pyc_file_from_path # noqa
+from .pyfiles import template_to_file # noqa
+from .sqla_compat import sqla_09 # noqa
+from .sqla_compat import sqla_092 # noqa
+from .sqla_compat import sqla_094 # noqa
+from .sqla_compat import sqla_099 # noqa
+from .sqla_compat import sqla_100 # noqa
+from .sqla_compat import sqla_1010 # noqa
+from .sqla_compat import sqla_1014 # noqa
+from .sqla_compat import sqla_105 # noqa
+from .sqla_compat import sqla_110 # noqa
+from .sqla_compat import sqla_1115 # noqa
if not sqla_09:
diff --git a/alembic/util/compat.py b/alembic/util/compat.py
index 7e07ed4..994cbc9 100644
--- a/alembic/util/compat.py
+++ b/alembic/util/compat.py
@@ -24,7 +24,7 @@ if py3k:
binary_type = bytes
text_type = str
- def callable(fn):
+ def callable(fn): # noqa
return hasattr(fn, "__call__")
def u(s):
@@ -33,27 +33,27 @@ if py3k:
def ue(s):
return s
- range = range
+ range = range # noqa
else:
import __builtin__ as compat_builtins
- string_types = (basestring,)
+ string_types = (basestring,) # noqa
binary_type = str
- text_type = unicode
- callable = callable
+ text_type = unicode # noqa
+ callable = callable # noqa
def u(s):
- return unicode(s, "utf-8")
+ return unicode(s, "utf-8") # noqa
def ue(s):
- return unicode(s, "unicode_escape")
+ return unicode(s, "unicode_escape") # noqa
- range = xrange
+ range = xrange # noqa
if py33:
import collections.abc as collections_abc
else:
- import collections as collections_abc
+ import collections as collections_abc # noqa
if py3k:
import collections
@@ -133,7 +133,7 @@ if py35:
else:
- from inspect import formatargspec as inspect_formatargspec
+ from inspect import formatargspec as inspect_formatargspec # noqa
if py3k:
diff --git a/alembic/util/langhelpers.py b/alembic/util/langhelpers.py
index a298cc0..cb44b1f 100644
--- a/alembic/util/langhelpers.py
+++ b/alembic/util/langhelpers.py
@@ -1,14 +1,15 @@
+import collections
import textwrap
-import warnings
import uuid
-import collections
+import warnings
+from .compat import callable
from .compat import collections_abc
-
-from .compat import callable, exec_, string_types, with_metaclass
-
-from .compat import inspect_getargspec
+from .compat import exec_
from .compat import inspect_formatargspec
+from .compat import inspect_getargspec
+from .compat import string_types
+from .compat import with_metaclass
class _ModuleClsMeta(type):
diff --git a/alembic/util/messaging.py b/alembic/util/messaging.py
index 44eacbf..1e72c19 100644
--- a/alembic/util/messaging.py
+++ b/alembic/util/messaging.py
@@ -1,11 +1,14 @@
-from .compat import py27, binary_type, string_types
-from .compat import collections_abc
-
+import logging
import sys
-from sqlalchemy.engine import url
-import warnings
import textwrap
-import logging
+import warnings
+
+from sqlalchemy.engine import url
+
+from .compat import binary_type
+from .compat import collections_abc
+from .compat import py27
+from .compat import string_types
log = logging.getLogger(__name__)
diff --git a/alembic/util/pyfiles.py b/alembic/util/pyfiles.py
index 4093b89..6e9b542 100644
--- a/alembic/util/pyfiles.py
+++ b/alembic/util/pyfiles.py
@@ -1,15 +1,14 @@
-import sys
import os
import re
-from .compat import (
- load_module_py,
- load_module_pyc,
- get_current_bytecode_suffixes,
- has_pep3147,
-)
-from mako.template import Template
-from mako import exceptions
import tempfile
+
+from mako import exceptions
+from mako.template import Template
+
+from .compat import get_current_bytecode_suffixes
+from .compat import has_pep3147
+from .compat import load_module_py
+from .compat import load_module_pyc
from .exc import CommandError
diff --git a/alembic/util/sqla_compat.py b/alembic/util/sqla_compat.py
index 63c9798..c20f318 100644
--- a/alembic/util/sqla_compat.py
+++ b/alembic/util/sqla_compat.py
@@ -1,12 +1,17 @@
import re
+
from sqlalchemy import __version__
-from sqlalchemy.schema import ForeignKeyConstraint, CheckConstraint, Column
+from sqlalchemy import schema
+from sqlalchemy import sql
from sqlalchemy import types as sqltypes
-from sqlalchemy import schema, sql
-from sqlalchemy.sql.visitors import traverse
from sqlalchemy.ext.compiler import compiles
+from sqlalchemy.schema import CheckConstraint
+from sqlalchemy.schema import Column
+from sqlalchemy.schema import ForeignKeyConstraint
from sqlalchemy.sql.expression import _BindParamClause
from sqlalchemy.sql.expression import _TextClause as TextClause
+from sqlalchemy.sql.visitors import traverse
+
from . import compat
diff --git a/setup.cfg b/setup.cfg
index 50d02c1..316b252 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -16,7 +16,6 @@ with-sqla_testing = true
where = tests
[flake8]
-show-source = true
enable-extensions = G
# E203 is due to https://github.com/PyCQA/pycodestyle/issues/373
ignore =
diff --git a/setup.py b/setup.py
index 70da388..6693323 100644
--- a/setup.py
+++ b/setup.py
@@ -1,12 +1,18 @@
-from setuptools import setup, find_packages
-from setuptools.command.test import test as TestCommand
import os
import re
import sys
+from setuptools import find_packages
+from setuptools import setup
+from setuptools.command.test import test as TestCommand
+
v = open(os.path.join(os.path.dirname(__file__), "alembic", "__init__.py"))
-VERSION = re.compile(r""".*__version__ = ["'](.*?)["']""", re.S).match(v.read()).group(1)
+VERSION = (
+ re.compile(r""".*__version__ = ["'](.*?)["']""", re.S)
+ .match(v.read())
+ .group(1)
+)
v.close()
diff --git a/tests/__init__.py b/tests/__init__.py
index 139597f..e69de29 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,2 +0,0 @@
-
-
diff --git a/tests/_autogen_fixtures.py b/tests/_autogen_fixtures.py
index 4bda756..e9047f6 100644
--- a/tests/_autogen_fixtures.py
+++ b/tests/_autogen_fixtures.py
@@ -1,30 +1,29 @@
-from sqlalchemy import (
- MetaData,
- Column,
- Table,
- Integer,
- String,
- Text,
- Numeric,
- CHAR,
- ForeignKey,
- Index,
- UniqueConstraint,
- CheckConstraint,
- text,
-)
+from sqlalchemy import CHAR
+from sqlalchemy import CheckConstraint
+from sqlalchemy import Column
+from sqlalchemy import event
+from sqlalchemy import ForeignKey
+from sqlalchemy import Index
+from sqlalchemy import Integer
+from sqlalchemy import MetaData
+from sqlalchemy import Numeric
+from sqlalchemy import String
+from sqlalchemy import Table
+from sqlalchemy import Text
+from sqlalchemy import text
+from sqlalchemy import UniqueConstraint
from sqlalchemy.engine.reflection import Inspector
-from alembic.operations import ops
from alembic import autogenerate
+from alembic import util
+from alembic.autogenerate import api
+from alembic.ddl.base import _fk_spec
from alembic.migration import MigrationContext
+from alembic.operations import ops
from alembic.testing import config
-from alembic.testing.env import staging_env, clear_staging_env
from alembic.testing import eq_
-from alembic.ddl.base import _fk_spec
-from alembic.autogenerate import api
-from alembic import util
-from sqlalchemy import event
+from alembic.testing.env import clear_staging_env
+from alembic.testing.env import staging_env
names_in_this_test = set()
diff --git a/tests/_large_map.py b/tests/_large_map.py
index 13ac41f..653b5df 100644
--- a/tests/_large_map.py
+++ b/tests/_large_map.py
@@ -1,4 +1,5 @@
-from alembic.script.revision import RevisionMap, Revision
+from alembic.script.revision import Revision
+from alembic.script.revision import RevisionMap
data = [
Revision("3fc8a578bc0a", ("4878cb1cb7f6", "454a0529f84e")),
diff --git a/tests/requirements.py b/tests/requirements.py
index 74a7d83..3fb949f 100644
--- a/tests/requirements.py
+++ b/tests/requirements.py
@@ -1,6 +1,6 @@
-from alembic.testing.requirements import SuiteRequirements
-from alembic.testing import exclusions
from alembic import util
+from alembic.testing import exclusions
+from alembic.testing.requirements import SuiteRequirements
from alembic.util import sqla_compat
diff --git a/tests/test_autogen_composition.py b/tests/test_autogen_composition.py
index 7694cbd..6c31d52 100644
--- a/tests/test_autogen_composition.py
+++ b/tests/test_autogen_composition.py
@@ -2,10 +2,11 @@ import re
from alembic import autogenerate
from alembic.migration import MigrationContext
-from alembic.testing import TestBase
from alembic.testing import eq_
-
-from ._autogen_fixtures import AutogenTest, ModelOne, _default_include_object
+from alembic.testing import TestBase
+from ._autogen_fixtures import _default_include_object
+from ._autogen_fixtures import AutogenTest
+from ._autogen_fixtures import ModelOne
class AutogenerateDiffTest(ModelOne, AutogenTest, TestBase):
@@ -182,7 +183,7 @@ nullable=True))
batch_op.drop_index('pw_idx')
batch_op.drop_column('pw')
- # ### end Alembic commands ###""",
+ # ### end Alembic commands ###""" # noqa,
)
eq_(
@@ -218,7 +219,7 @@ nullable=True))
sa.ForeignKeyConstraint(['uid'], ['user.id'], )
)
op.drop_table('item')
- # ### end Alembic commands ###""",
+ # ### end Alembic commands ###""" # noqa,
)
def test_imports_maintined(self):
@@ -365,6 +366,6 @@ name='extra_uid_fkey'),
schema='%(schema)s'
)
op.drop_table('item', schema='%(schema)s')
- # ### end Alembic commands ###"""
+ # ### end Alembic commands ###""" # noqa
% {"schema": self.schema},
)
diff --git a/tests/test_autogen_diffs.py b/tests/test_autogen_diffs.py
index af2e2c2..d7d0430 100644
--- a/tests/test_autogen_diffs.py
+++ b/tests/test_autogen_diffs.py
@@ -1,44 +1,46 @@
import sys
-from sqlalchemy import (
- MetaData,
- Column,
- Table,
- Integer,
- String,
- Text,
- Numeric,
- CHAR,
- ForeignKey,
- INTEGER,
- Index,
- UniqueConstraint,
- TypeDecorator,
- CheckConstraint,
- text,
- PrimaryKeyConstraint,
- ForeignKeyConstraint,
- VARCHAR,
- DECIMAL,
- DateTime,
- BigInteger,
- BIGINT,
- SmallInteger,
-)
+from sqlalchemy import BIGINT
+from sqlalchemy import BigInteger
+from sqlalchemy import CHAR
+from sqlalchemy import CheckConstraint
+from sqlalchemy import Column
+from sqlalchemy import DateTime
+from sqlalchemy import DECIMAL
+from sqlalchemy import ForeignKey
+from sqlalchemy import ForeignKeyConstraint
+from sqlalchemy import Index
+from sqlalchemy import INTEGER
+from sqlalchemy import Integer
+from sqlalchemy import MetaData
+from sqlalchemy import Numeric
+from sqlalchemy import PrimaryKeyConstraint
+from sqlalchemy import SmallInteger
+from sqlalchemy import String
+from sqlalchemy import Table
+from sqlalchemy import Text
+from sqlalchemy import text
+from sqlalchemy import TypeDecorator
+from sqlalchemy import UniqueConstraint
+from sqlalchemy import VARCHAR
from sqlalchemy.dialects import sqlite
-from sqlalchemy.types import NULLTYPE, VARBINARY
from sqlalchemy.engine.reflection import Inspector
+from sqlalchemy.types import NULLTYPE
+from sqlalchemy.types import VARBINARY
-from alembic.operations import ops
from alembic import autogenerate
from alembic.migration import MigrationContext
-from alembic.testing import TestBase
-from alembic.testing import config
+from alembic.operations import ops
from alembic.testing import assert_raises_message
-from alembic.testing.mock import Mock, patch
-from alembic.testing import eq_, is_, is_not_
+from alembic.testing import config
+from alembic.testing import eq_
+from alembic.testing import is_
+from alembic.testing import is_not_
+from alembic.testing import TestBase
+from alembic.testing.mock import Mock
from alembic.util import CommandError
-from ._autogen_fixtures import AutogenTest, AutogenFixtureTest
+from ._autogen_fixtures import AutogenFixtureTest
+from ._autogen_fixtures import AutogenTest
py3k = sys.version_info >= (3,)
diff --git a/tests/test_autogen_fks.py b/tests/test_autogen_fks.py
index 66c5ac4..86c1c44 100644
--- a/tests/test_autogen_fks.py
+++ b/tests/test_autogen_fks.py
@@ -1,20 +1,20 @@
import sys
-from alembic.testing import TestBase, config, mock
-
-from sqlalchemy import (
- MetaData,
- Column,
- Table,
- Integer,
- String,
- ForeignKeyConstraint,
-)
-from alembic.testing import eq_
-py3k = sys.version_info.major >= 3
+from sqlalchemy import Column
+from sqlalchemy import ForeignKeyConstraint
+from sqlalchemy import Integer
+from sqlalchemy import MetaData
+from sqlalchemy import String
+from sqlalchemy import Table
+from alembic.testing import config
+from alembic.testing import eq_
+from alembic.testing import mock
+from alembic.testing import TestBase
from ._autogen_fixtures import AutogenFixtureTest
+py3k = sys.version_info.major >= 3
+
class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
__backend__ = True
diff --git a/tests/test_autogen_indexes.py b/tests/test_autogen_indexes.py
index f03155f..12f705f 100644
--- a/tests/test_autogen_indexes.py
+++ b/tests/test_autogen_indexes.py
@@ -1,29 +1,27 @@
import sys
-from alembic.testing import TestBase
-from alembic.testing import config
-from alembic.testing import assertions
-from sqlalchemy import (
- MetaData,
- Column,
- Table,
- Integer,
- String,
- Numeric,
- UniqueConstraint,
- Index,
- ForeignKeyConstraint,
- ForeignKey,
- func,
-)
+from sqlalchemy import Column
+from sqlalchemy import ForeignKey
+from sqlalchemy import ForeignKeyConstraint
+from sqlalchemy import func
+from sqlalchemy import Index
+from sqlalchemy import Integer
+from sqlalchemy import MetaData
+from sqlalchemy import Numeric
+from sqlalchemy import String
+from sqlalchemy import Table
+from sqlalchemy import UniqueConstraint
+
+from alembic.testing import assertions
+from alembic.testing import config
from alembic.testing import engines
from alembic.testing import eq_
+from alembic.testing import TestBase
from alembic.testing.env import staging_env
+from ._autogen_fixtures import AutogenFixtureTest
py3k = sys.version_info >= (3,)
-from ._autogen_fixtures import AutogenFixtureTest
-
class NoUqReflection(object):
__requires__ = ()
diff --git a/tests/test_autogen_render.py b/tests/test_autogen_render.py
index 37e1c61..6465b34 100644
--- a/tests/test_autogen_render.py
+++ b/tests/test_autogen_render.py
@@ -1,52 +1,54 @@
import re
import sys
-from alembic.testing import TestBase, exclusions, assert_raises
-from alembic.testing import assertions
-
-from alembic.operations import ops
-from sqlalchemy import (
- MetaData,
- Column,
- Table,
- String,
- Numeric,
- CHAR,
- ForeignKey,
- DATETIME,
- Integer,
- BigInteger,
- CheckConstraint,
- Unicode,
- Enum,
- cast,
- DateTime,
- UniqueConstraint,
- Boolean,
- ForeignKeyConstraint,
- PrimaryKeyConstraint,
- Index,
- func,
- text,
- DefaultClause,
-)
-from sqlalchemy.types import TIMESTAMP
+import sqlalchemy as sa # noqa
+from sqlalchemy import BigInteger
+from sqlalchemy import Boolean
+from sqlalchemy import cast
+from sqlalchemy import CHAR
+from sqlalchemy import CheckConstraint
+from sqlalchemy import Column
+from sqlalchemy import DATETIME
+from sqlalchemy import DateTime
+from sqlalchemy import DefaultClause
+from sqlalchemy import Enum
+from sqlalchemy import ForeignKey
+from sqlalchemy import ForeignKeyConstraint
+from sqlalchemy import func
+from sqlalchemy import Index
+from sqlalchemy import Integer
+from sqlalchemy import MetaData
+from sqlalchemy import Numeric
+from sqlalchemy import PrimaryKeyConstraint
+from sqlalchemy import String
+from sqlalchemy import Table
+from sqlalchemy import text
from sqlalchemy import types
-from sqlalchemy.types import UserDefinedType
+from sqlalchemy import Unicode
+from sqlalchemy import UniqueConstraint
from sqlalchemy.engine.default import DefaultDialect
-from sqlalchemy.sql import and_, column, literal_column, false, table
-from alembic.migration import MigrationContext
-from alembic.autogenerate import api
+from sqlalchemy.sql import and_
+from sqlalchemy.sql import column
+from sqlalchemy.sql import false
+from sqlalchemy.sql import literal_column
+from sqlalchemy.sql import table
+from sqlalchemy.types import TIMESTAMP
+from sqlalchemy.types import UserDefinedType
+from alembic import autogenerate
+from alembic import op # noqa
+from alembic.autogenerate import api
+from alembic.migration import MigrationContext
+from alembic.operations import ops
+from alembic.testing import assert_raises
+from alembic.testing import assertions
+from alembic.testing import config
+from alembic.testing import eq_
+from alembic.testing import eq_ignore_whitespace
+from alembic.testing import TestBase
+from alembic.testing.fixtures import op_fixture
from alembic.testing.mock import patch
-
-from alembic import autogenerate, util
from alembic.util import compat
-from alembic.testing import eq_, eq_ignore_whitespace, config
-
-from alembic.testing.fixtures import op_fixture
-from alembic import op # noqa
-import sqlalchemy as sa # noqa
py3k = sys.version_info >= (3,)
@@ -454,7 +456,8 @@ class AutogenRenderTest(TestBase):
with self.autogen_context._within_batch():
eq_ignore_whitespace(
autogenerate.render_op_text(self.autogen_context, op_obj),
- "batch_op.create_foreign_key('fk_a_id', 'a', ['a_id'], ['id'])",
+ "batch_op.create_foreign_key"
+ "('fk_a_id', 'a', ['a_id'], ['id'])",
)
def test_add_fk_constraint_kwarg(self):
@@ -1358,7 +1361,7 @@ class AutogenRenderTest(TestBase):
def test_render_fk_constraint_resolve_key(self):
m = MetaData()
t1 = Table("t", m, Column("c", Integer))
- t2 = Table("t2", m, Column("c_rem", Integer, key="c_remkey"))
+ Table("t2", m, Column("c_rem", Integer, key="c_remkey"))
fk = ForeignKeyConstraint(["c"], ["t2.c_remkey"])
t1.append_constraint(fk)
@@ -1377,7 +1380,7 @@ class AutogenRenderTest(TestBase):
def test_render_fk_constraint_bad_table_resolve(self):
m = MetaData()
t1 = Table("t", m, Column("c", Integer))
- t2 = Table("t2", m, Column("c_rem", Integer))
+ Table("t2", m, Column("c_rem", Integer))
fk = ForeignKeyConstraint(["c"], ["t2.nonexistent"])
t1.append_constraint(fk)
@@ -1396,7 +1399,7 @@ class AutogenRenderTest(TestBase):
def test_render_fk_constraint_bad_table_resolve_dont_get_confused(self):
m = MetaData()
t1 = Table("t", m, Column("c", Integer))
- t2 = Table(
+ Table(
"t2",
m,
Column("c_rem", Integer, key="cr_key"),
@@ -1420,7 +1423,7 @@ class AutogenRenderTest(TestBase):
def test_render_fk_constraint_link_to_name(self):
m = MetaData()
t1 = Table("t", m, Column("c", Integer))
- t2 = Table("t2", m, Column("c_rem", Integer, key="c_remkey"))
+ Table("t2", m, Column("c_rem", Integer, key="c_remkey"))
fk = ForeignKeyConstraint(["c"], ["t2.c_rem"], link_to_name=True)
t1.append_constraint(fk)
diff --git a/tests/test_batch.py b/tests/test_batch.py
index 2a7c52e..31e23c5 100644
--- a/tests/test_batch.py
+++ b/tests/test_batch.py
@@ -1,36 +1,38 @@
from contextlib import contextmanager
import re
-from alembic.testing import exclusions
-from alembic.testing import assert_raises_message
-from alembic.testing import TestBase, eq_, config
-from alembic.testing.fixtures import op_fixture
-from alembic.testing import mock
+from sqlalchemy import Boolean
+from sqlalchemy import CheckConstraint
+from sqlalchemy import Column
+from sqlalchemy import DateTime
+from sqlalchemy import Enum
+from sqlalchemy import exc
+from sqlalchemy import ForeignKey
+from sqlalchemy import ForeignKeyConstraint
+from sqlalchemy import Index
+from sqlalchemy import Integer
+from sqlalchemy import MetaData
+from sqlalchemy import PrimaryKeyConstraint
+from sqlalchemy import String
+from sqlalchemy import Table
+from sqlalchemy import UniqueConstraint
+from sqlalchemy.engine.reflection import Inspector
+from sqlalchemy.schema import CreateIndex
+from sqlalchemy.schema import CreateTable
+from sqlalchemy.sql import column
+from sqlalchemy.sql import select
+from sqlalchemy.sql import text
+
from alembic.operations import Operations
from alembic.operations.batch import ApplyBatchImpl
from alembic.runtime.migration import MigrationContext
-
-
-from sqlalchemy import (
- Integer,
- Table,
- Column,
- String,
- MetaData,
- ForeignKey,
- UniqueConstraint,
- ForeignKeyConstraint,
- Index,
- Boolean,
- CheckConstraint,
- Enum,
- DateTime,
- PrimaryKeyConstraint,
-)
-from sqlalchemy.engine.reflection import Inspector
-from sqlalchemy.sql import column, text, select
-from sqlalchemy.schema import CreateTable, CreateIndex
-from sqlalchemy import exc
+from alembic.testing import assert_raises_message
+from alembic.testing import config
+from alembic.testing import eq_
+from alembic.testing import exclusions
+from alembic.testing import mock
+from alembic.testing import TestBase
+from alembic.testing.fixtures import op_fixture
class BatchApplyTest(TestBase):
diff --git a/tests/test_bulk_insert.py b/tests/test_bulk_insert.py
index 220719a..0e54807 100644
--- a/tests/test_bulk_insert.py
+++ b/tests/test_bulk_insert.py
@@ -1,13 +1,19 @@
-from unittest import TestCase
-
-from alembic import op
-from sqlalchemy import Integer, String
-from sqlalchemy.sql import table, column
-from sqlalchemy import Table, Column, MetaData
+from sqlalchemy import Column
+from sqlalchemy import Integer
+from sqlalchemy import MetaData
+from sqlalchemy import String
+from sqlalchemy import Table
+from sqlalchemy.sql import column
+from sqlalchemy.sql import table
from sqlalchemy.types import TypeEngine
-from alembic.testing.fixtures import op_fixture, TestBase
-from alembic.testing import eq_, assert_raises_message, config
+from alembic import op
+from alembic.migration import MigrationContext
+from alembic.testing import assert_raises_message
+from alembic.testing import config
+from alembic.testing import eq_
+from alembic.testing.fixtures import op_fixture
+from alembic.testing.fixtures import TestBase
class BulkInsertTest(TestBase):
@@ -74,7 +80,8 @@ class BulkInsertTest(TestBase):
)
op.bulk_insert(t1, [{"v1": "row v1"}])
context.assert_(
- "INSERT INTO ins_table (id, v1, v2) VALUES (%(id)s, %(v1)s, %(v2)s)"
+ "INSERT INTO ins_table (id, v1, v2) "
+ "VALUES (%(id)s, %(v1)s, %(v2)s)"
)
def test_bulk_insert_no_rows(self):
@@ -228,9 +235,6 @@ class RoundTripTest(TestBase):
__only_on__ = "sqlite"
def setUp(self):
- from sqlalchemy import create_engine
- from alembic.migration import MigrationContext
-
self.conn = config.db.connect()
self.conn.execute(
"""
diff --git a/tests/test_command.py b/tests/test_command.py
index a9f0e5d..c12802c 100644
--- a/tests/test_command.py
+++ b/tests/test_command.py
@@ -1,24 +1,29 @@
-from alembic import command
-from io import TextIOWrapper, BytesIO
-from alembic.script import ScriptDirectory
-from alembic import config
-from alembic.testing.fixtures import TestBase, capture_context_buffer
-from alembic.testing.env import (
- staging_env,
- _sqlite_testing_config,
- three_rev_fixture,
- clear_staging_env,
- _no_sql_testing_config,
- _sqlite_file_db,
- write_script,
- env_file_fixture,
-)
-from alembic.testing import eq_, assert_raises_message, mock, assert_raises
-from alembic import util
from contextlib import contextmanager
+from io import BytesIO
+from io import TextIOWrapper
import re
+
from sqlalchemy import exc as sqla_exc
+from alembic import command
+from alembic import config
+from alembic import util
+from alembic.script import ScriptDirectory
+from alembic.testing import assert_raises
+from alembic.testing import assert_raises_message
+from alembic.testing import eq_
+from alembic.testing import mock
+from alembic.testing.env import _no_sql_testing_config
+from alembic.testing.env import _sqlite_file_db
+from alembic.testing.env import _sqlite_testing_config
+from alembic.testing.env import clear_staging_env
+from alembic.testing.env import env_file_fixture
+from alembic.testing.env import staging_env
+from alembic.testing.env import three_rev_fixture
+from alembic.testing.env import write_script
+from alembic.testing.fixtures import capture_context_buffer
+from alembic.testing.fixtures import TestBase
+
class _BufMixin(object):
def _buf_fixture(self):
diff --git a/tests/test_config.py b/tests/test_config.py
index b1d1ca1..b499a50 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -1,22 +1,22 @@
#!coding: utf-8
-from alembic import config, util
-from alembic.util import compat
+from alembic import config
+from alembic import util
from alembic.migration import MigrationContext
from alembic.operations import Operations
from alembic.script import ScriptDirectory
-from alembic.testing.fixtures import TestBase
-from alembic.testing.mock import Mock, call
-
-from alembic.testing import eq_, assert_raises_message
+from alembic.testing import assert_raises_message
+from alembic.testing import eq_
+from alembic.testing.env import _no_sql_testing_config
+from alembic.testing.env import _write_config_file
+from alembic.testing.env import clear_staging_env
+from alembic.testing.env import staging_env
from alembic.testing.fixtures import capture_db
-from alembic.testing.env import (
- _no_sql_testing_config,
- clear_staging_env,
- staging_env,
- _write_config_file,
-)
+from alembic.testing.fixtures import TestBase
+from alembic.testing.mock import call
+from alembic.testing.mock import Mock
+from alembic.util import compat
class FileConfigTest(TestBase):
diff --git a/tests/test_environment.py b/tests/test_environment.py
index cfa72f6..6109ed7 100644
--- a/tests/test_environment.py
+++ b/tests/test_environment.py
@@ -1,20 +1,20 @@
#!coding: utf-8
-from alembic.script import ScriptDirectory
from alembic.environment import EnvironmentContext
from alembic.migration import MigrationContext
-from alembic.testing.fixtures import TestBase
-from alembic.testing.mock import Mock, call, MagicMock
-from alembic.testing.env import (
- _no_sql_testing_config,
- staging_env,
- clear_staging_env,
- write_script,
- _sqlite_file_db,
-)
+from alembic.script import ScriptDirectory
+from alembic.testing import eq_
+from alembic.testing import is_
from alembic.testing.assertions import expect_warnings
-
-from alembic.testing import eq_, is_
+from alembic.testing.env import _no_sql_testing_config
+from alembic.testing.env import _sqlite_file_db
+from alembic.testing.env import clear_staging_env
+from alembic.testing.env import staging_env
+from alembic.testing.env import write_script
+from alembic.testing.fixtures import TestBase
+from alembic.testing.mock import call
+from alembic.testing.mock import MagicMock
+from alembic.testing.mock import Mock
class EnvironmentTest(TestBase):
diff --git a/tests/test_external_dialect.py b/tests/test_external_dialect.py
index 1c3222d..9ddc12f 100644
--- a/tests/test_external_dialect.py
+++ b/tests/test_external_dialect.py
@@ -1,15 +1,15 @@
-from alembic.testing.fixtures import TestBase
-from alembic.ddl import impl
-from alembic.testing import eq_ignore_whitespace
+from sqlalchemy import MetaData
+from sqlalchemy import types as sqla_types
+from sqlalchemy.engine import default
+
from alembic import autogenerate
+from alembic.autogenerate import api
from alembic.autogenerate import render
+from alembic.ddl import impl
from alembic.migration import MigrationContext
-from alembic.autogenerate import api
from alembic.testing import eq_
-
-from sqlalchemy import types as sqla_types
-from sqlalchemy import MetaData
-from sqlalchemy.engine import default
+from alembic.testing import eq_ignore_whitespace
+from alembic.testing.fixtures import TestBase
class CustomDialect(default.DefaultDialect):
@@ -96,7 +96,8 @@ class ExternalDialectRenderTest(TestBase):
self.autogen_context.imports,
set(
[
- "from tests.test_external_dialect import custom_dialect_types"
+ "from tests.test_external_dialect "
+ "import custom_dialect_types"
]
),
)
@@ -122,7 +123,8 @@ class ExternalDialectRenderTest(TestBase):
self.autogen_context.imports,
set(
[
- "from tests.test_external_dialect import custom_dialect_types"
+ "from tests.test_external_dialect "
+ "import custom_dialect_types"
]
),
)
@@ -133,14 +135,16 @@ class ExternalDialectRenderTest(TestBase):
autogenerate.render._repr_type(
EXT_ARRAY(FOOBARTYPE), self.autogen_context
),
- "custom_dialect_types.EXT_ARRAY(custom_dialect_types.FOOBARTYPE())",
+ "custom_dialect_types.EXT_ARRAY"
+ "(custom_dialect_types.FOOBARTYPE())",
)
eq_(
self.autogen_context.imports,
set(
[
- "from tests.test_external_dialect import custom_dialect_types"
+ "from tests.test_external_dialect "
+ "import custom_dialect_types"
]
),
)
diff --git a/tests/test_mssql.py b/tests/test_mssql.py
index 1657ccc..23577b0 100644
--- a/tests/test_mssql.py
+++ b/tests/test_mssql.py
@@ -1,21 +1,21 @@
"""Test op functions against MSSQL."""
+from sqlalchemy import Column
+from sqlalchemy import Integer
+
+from alembic import command
+from alembic import op
+from alembic import util
+from alembic.testing import assert_raises_message
+from alembic.testing import eq_
+from alembic.testing.env import _no_sql_testing_config
+from alembic.testing.env import clear_staging_env
+from alembic.testing.env import staging_env
+from alembic.testing.env import three_rev_fixture
+from alembic.testing.fixtures import capture_context_buffer
+from alembic.testing.fixtures import op_fixture
from alembic.testing.fixtures import TestBase
-from sqlalchemy import Integer, Column
-
-from alembic import op, command, util
-
-from alembic.testing import eq_, assert_raises_message
-from alembic.testing.fixtures import capture_context_buffer, op_fixture
-from alembic.testing.env import (
- staging_env,
- _no_sql_testing_config,
- three_rev_fixture,
- clear_staging_env,
-)
-from alembic.testing import config
-
class FullEnvironmentTests(TestBase):
@classmethod
@@ -198,7 +198,7 @@ class OpTest(TestBase):
context.assert_("ALTER TABLE t ALTER COLUMN c INTEGER NOT NULL")
def test_alter_column_nullable_type_required(self):
- context = op_fixture("mssql")
+ op_fixture("mssql")
assert_raises_message(
util.CommandError,
"MS-SQL ALTER COLUMN operations with NULL or "
diff --git a/tests/test_mysql.py b/tests/test_mysql.py
index 68746ba..7158358 100644
--- a/tests/test_mysql.py
+++ b/tests/test_mysql.py
@@ -1,20 +1,22 @@
-from sqlalchemy import Integer, func, Boolean
-from alembic.testing.fixtures import TestBase
-from alembic.testing import config
-from sqlalchemy import TIMESTAMP, MetaData, Table, Column, text
+from sqlalchemy import Boolean
+from sqlalchemy import Column
+from sqlalchemy import func
+from sqlalchemy import Integer
+from sqlalchemy import MetaData
+from sqlalchemy import Table
+from sqlalchemy import text
+from sqlalchemy import TIMESTAMP
from sqlalchemy.engine.reflection import Inspector
-from alembic import op, util
-
-from alembic.testing import eq_, assert_raises_message
-from alembic.testing.fixtures import capture_context_buffer, op_fixture
-from alembic.testing.env import (
- staging_env,
- _no_sql_testing_config,
- three_rev_fixture,
- clear_staging_env,
-)
+from alembic import op
+from alembic import util
from alembic.migration import MigrationContext
+from alembic.testing import assert_raises_message
+from alembic.testing import config
+from alembic.testing.env import clear_staging_env
+from alembic.testing.env import staging_env
+from alembic.testing.fixtures import op_fixture
+from alembic.testing.fixtures import TestBase
class MySQLOpTest(TestBase):
diff --git a/tests/test_offline_environment.py b/tests/test_offline_environment.py
index fbbbec3..714d248 100644
--- a/tests/test_offline_environment.py
+++ b/tests/test_offline_environment.py
@@ -1,17 +1,16 @@
-from alembic.testing.fixtures import TestBase, capture_context_buffer
-
-from alembic import command, util
+import re
+from alembic import command
+from alembic import util
from alembic.testing import assert_raises_message
-from alembic.testing.env import (
- staging_env,
- _no_sql_testing_config,
- three_rev_fixture,
- clear_staging_env,
- env_file_fixture,
- multi_heads_fixture,
-)
-import re
+from alembic.testing.env import _no_sql_testing_config
+from alembic.testing.env import clear_staging_env
+from alembic.testing.env import env_file_fixture
+from alembic.testing.env import multi_heads_fixture
+from alembic.testing.env import staging_env
+from alembic.testing.env import three_rev_fixture
+from alembic.testing.fixtures import capture_context_buffer
+from alembic.testing.fixtures import TestBase
a = b = c = None
diff --git a/tests/test_op.py b/tests/test_op.py
index fb2db5f..ce0686c 100644
--- a/tests/test_op.py
+++ b/tests/test_op.py
@@ -1,16 +1,26 @@
"""Test against the builders in the op.* module."""
-from sqlalchemy import Integer, Column, ForeignKey, Table, String, Boolean
-from sqlalchemy.sql import column, func, text
+from sqlalchemy import Boolean
+from sqlalchemy import Column
from sqlalchemy import event
+from sqlalchemy import ForeignKey
+from sqlalchemy import Integer
+from sqlalchemy import String
+from sqlalchemy import Table
+from sqlalchemy.sql import column
+from sqlalchemy.sql import func
+from sqlalchemy.sql import text
from alembic import op
-from alembic.testing.fixtures import op_fixture
-from alembic.testing import eq_, assert_raises_message, is_
+from alembic.operations import ops
+from alembic.operations import schemaobj
+from alembic.testing import assert_raises_message
+from alembic.testing import config
+from alembic.testing import eq_
+from alembic.testing import is_
from alembic.testing import mock
+from alembic.testing.fixtures import op_fixture
from alembic.testing.fixtures import TestBase
-from alembic.testing import config
-from alembic.operations import schemaobj, ops
@event.listens_for(Table, "after_parent_attach")
@@ -310,7 +320,8 @@ class OpTest(TestBase):
"t", "c", server_default=func.utc_thing(func.current_timestamp())
)
context.assert_(
- "ALTER TABLE t ALTER COLUMN c SET DEFAULT utc_thing(CURRENT_TIMESTAMP)"
+ "ALTER TABLE t ALTER COLUMN c "
+ "SET DEFAULT utc_thing(CURRENT_TIMESTAMP)"
)
def test_alter_column_schema_set_compiled_default(self):
@@ -845,7 +856,8 @@ class OpTest(TestBase):
.values({"id": op.inline_literal(2)})
)
context.assert_(
- "UPDATE account SET name='account 2' WHERE account.name = 'account 1'",
+ "UPDATE account SET name='account 2' "
+ "WHERE account.name = 'account 1'",
"UPDATE account SET id=2 WHERE account.id = 1",
)
diff --git a/tests/test_op_naming_convention.py b/tests/test_op_naming_convention.py
index fbcd181..88c761f 100644
--- a/tests/test_op_naming_convention.py
+++ b/tests/test_op_naming_convention.py
@@ -1,15 +1,13 @@
-from sqlalchemy import (
- Integer,
- Column,
- Table,
- Boolean,
- MetaData,
- CheckConstraint,
-)
-from sqlalchemy.sql import column, func
+from sqlalchemy import Boolean
+from sqlalchemy import CheckConstraint
+from sqlalchemy import Column
+from sqlalchemy import Integer
+from sqlalchemy import MetaData
+from sqlalchemy import Table
+from sqlalchemy.sql import column
+from sqlalchemy.sql import func
from alembic import op
-
from alembic.testing.fixtures import op_fixture
from alembic.testing.fixtures import TestBase
@@ -43,7 +41,8 @@ class AutoNamingConventionTest(TestBase):
context = op_fixture(naming_convention={"uq": "uq_%(table_name)s_foo"})
op.create_unique_constraint(None, "user_table", "x")
context.assert_(
- "ALTER TABLE user_table ADD CONSTRAINT uq_user_table_foo UNIQUE (x)"
+ "ALTER TABLE user_table "
+ "ADD CONSTRAINT uq_user_table_foo UNIQUE (x)"
)
def test_add_index_name_is_none(self):
diff --git a/tests/test_oracle.py b/tests/test_oracle.py
index 86e0ece..a28e9be 100644
--- a/tests/test_oracle.py
+++ b/tests/test_oracle.py
@@ -1,16 +1,16 @@
-from sqlalchemy import Integer, Column
-
-from alembic import op, command
+from sqlalchemy import Column
+from sqlalchemy import Integer
+
+from alembic import command
+from alembic import op
+from alembic.testing.env import _no_sql_testing_config
+from alembic.testing.env import clear_staging_env
+from alembic.testing.env import staging_env
+from alembic.testing.env import three_rev_fixture
+from alembic.testing.fixtures import capture_context_buffer
+from alembic.testing.fixtures import op_fixture
from alembic.testing.fixtures import TestBase
-from alembic.testing.fixtures import op_fixture, capture_context_buffer
-from alembic.testing.env import (
- _no_sql_testing_config,
- staging_env,
- three_rev_fixture,
- clear_staging_env,
-)
-
class FullEnvironmentTests(TestBase):
@classmethod
diff --git a/tests/test_postgresql.py b/tests/test_postgresql.py
index 61ba2d1..5ae261b 100644
--- a/tests/test_postgresql.py
+++ b/tests/test_postgresql.py
@@ -1,53 +1,49 @@
-from sqlalchemy import (
- DateTime,
- MetaData,
- Table,
- Column,
- text,
- Integer,
- String,
- Interval,
- Sequence,
- Numeric,
- BigInteger,
- Float,
- Numeric,
-)
-from sqlalchemy.dialects.postgresql import ARRAY, UUID, BYTEA
-from sqlalchemy.engine.reflection import Inspector
+from sqlalchemy import BigInteger
+from sqlalchemy import Boolean
+from sqlalchemy import Column
+from sqlalchemy import DateTime
+from sqlalchemy import Float
+from sqlalchemy import Index
+from sqlalchemy import Integer
+from sqlalchemy import Interval
+from sqlalchemy import MetaData
+from sqlalchemy import Numeric
+from sqlalchemy import Sequence
+from sqlalchemy import String
+from sqlalchemy import Table
+from sqlalchemy import text
from sqlalchemy import types
-from alembic.operations import Operations
-from sqlalchemy.sql import table, column
-from alembic.autogenerate.compare import (
- _compare_server_default,
- _compare_tables,
- _render_server_default_for_compare,
-)
+from sqlalchemy.dialects.postgresql import ARRAY
+from sqlalchemy.dialects.postgresql import BYTEA
+from sqlalchemy.dialects.postgresql import UUID
+from sqlalchemy.engine.reflection import Inspector
+from sqlalchemy.sql import column
+from sqlalchemy.sql import false
+from sqlalchemy.sql import table
-from alembic.operations import ops
-from alembic import command, util
+from alembic import autogenerate
+from alembic import command
+from alembic import op
+from alembic import util
+from alembic.autogenerate import api
+from alembic.autogenerate.compare import _compare_server_default
+from alembic.autogenerate.compare import _compare_tables
+from alembic.autogenerate.compare import _render_server_default_for_compare
from alembic.migration import MigrationContext
+from alembic.operations import Operations
+from alembic.operations import ops
from alembic.script import ScriptDirectory
-from alembic.autogenerate import api
-
-from alembic.testing import eq_, provide_metadata
-from alembic.testing.env import (
- staging_env,
- clear_staging_env,
- _no_sql_testing_config,
- write_script,
-)
-from alembic.testing.fixtures import capture_context_buffer
-from alembic.testing.fixtures import TestBase
-from alembic.testing.fixtures import op_fixture
from alembic.testing import config
-from alembic import op
-from alembic.util import compat
+from alembic.testing import eq_
from alembic.testing import eq_ignore_whitespace
-from alembic import autogenerate
-from sqlalchemy import Index
-from sqlalchemy import Boolean
-from sqlalchemy.sql import false
+from alembic.testing import provide_metadata
+from alembic.testing.env import _no_sql_testing_config
+from alembic.testing.env import clear_staging_env
+from alembic.testing.env import staging_env
+from alembic.testing.env import write_script
+from alembic.testing.fixtures import capture_context_buffer
+from alembic.testing.fixtures import op_fixture
+from alembic.testing.fixtures import TestBase
if util.sqla_09:
@@ -667,7 +663,8 @@ class PostgresqlAutogenRenderTest(TestBase):
autogenerate.render._repr_type(
ARRAY(BYTEA, as_tuple=True, dimensions=2), self.autogen_context
),
- "postgresql.ARRAY(postgresql.BYTEA(), as_tuple=True, dimensions=2)",
+ "postgresql.ARRAY(postgresql.BYTEA(), "
+ "as_tuple=True, dimensions=2)",
)
assert (
@@ -769,7 +766,8 @@ class PostgresqlAutogenRenderTest(TestBase):
eq_ignore_whitespace(
autogenerate.render_op_text(autogen_context, op_obj),
- "op.create_exclude_constraint('t_excl_x', 't', (sa.column('x'), '>'), "
+ "op.create_exclude_constraint('t_excl_x', "
+ "'t', (sa.column('x'), '>'), "
"where=sa.text(!U'x != 2'), using='gist')",
)
@@ -795,7 +793,8 @@ class PostgresqlAutogenRenderTest(TestBase):
eq_ignore_whitespace(
autogenerate.render_op_text(autogen_context, op_obj),
- "op.create_exclude_constraint('t_excl_x', 'TTAble', (sa.column('XColumn'), '>'), "
+ "op.create_exclude_constraint('t_excl_x', 'TTAble', "
+ "(sa.column('XColumn'), '>'), "
"where=sa.text(!U'\"XColumn\" != 2'), using='gist')",
)
diff --git a/tests/test_revision.py b/tests/test_revision.py
index 41a713e..d170895 100644
--- a/tests/test_revision.py
+++ b/tests/test_revision.py
@@ -1,11 +1,10 @@
+from alembic.script.revision import MultipleHeads
+from alembic.script.revision import Revision
+from alembic.script.revision import RevisionError
+from alembic.script.revision import RevisionMap
+from alembic.testing import assert_raises_message
+from alembic.testing import eq_
from alembic.testing.fixtures import TestBase
-from alembic.testing import eq_, assert_raises_message
-from alembic.script.revision import (
- RevisionMap,
- Revision,
- MultipleHeads,
- RevisionError,
-)
from . import _large_map
@@ -182,14 +181,15 @@ class EmptyMapTest(DownIterateTest):
class LabeledBranchTest(DownIterateTest):
def test_dupe_branch_collection(self):
- fn = lambda: [
- Revision("a", ()),
- Revision("b", ("a",)),
- Revision("c", ("b",), branch_labels=["xy1"]),
- Revision("d", ()),
- Revision("e", ("d",), branch_labels=["xy1"]),
- Revision("f", ("e",)),
- ]
+ def fn():
+ return [
+ Revision("a", ()),
+ Revision("b", ("a",)),
+ Revision("c", ("b",), branch_labels=["xy1"]),
+ Revision("d", ()),
+ Revision("e", ("d",), branch_labels=["xy1"]),
+ Revision("f", ("e",)),
+ ]
assert_raises_message(
RevisionError,
r"Branch name 'xy1' in revision (?:e|c) already "
@@ -200,13 +200,14 @@ class LabeledBranchTest(DownIterateTest):
)
def test_filter_for_lineage_labeled_head_across_merge(self):
- fn = lambda: [
- Revision("a", ()),
- Revision("b", ("a",)),
- Revision("c1", ("b",), branch_labels="c1branch"),
- Revision("c2", ("b",)),
- Revision("d", ("c1", "c2")),
- ]
+ def fn():
+ return [
+ Revision("a", ()),
+ Revision("b", ("a",)),
+ Revision("c1", ("b",), branch_labels="c1branch"),
+ Revision("c2", ("b",)),
+ Revision("d", ("c1", "c2")),
+ ]
map_ = RevisionMap(fn)
c1 = map_.get_revision("c1")
c2 = map_.get_revision("c2")
@@ -840,20 +841,20 @@ class MultipleBaseTest(DownIterateTest):
class MultipleBaseCrossDependencyTestOne(DownIterateTest):
def setUp(self):
"""
-
- base1 -----> a1a -> b1a
- +----> a1b -> b1b
- |
- +-----------+
- |
- v
- base3 -> a3 -> b3
- ^
- |
- +-----------+
- |
- base2 -> a2 -> b2 -> c2 -> d2
-
+ Structure::
+
+ base1 -----> a1a -> b1a
+ +----> a1b -> b1b
+ |
+ +-----------+
+ |
+ v
+ base3 -> a3 -> b3
+ ^
+ |
+ +-----------+
+ |
+ base2 -> a2 -> b2 -> c2 -> d2
"""
self.map = RevisionMap(
diff --git a/tests/test_script_consumption.py b/tests/test_script_consumption.py
index 749b173..17bf037 100644
--- a/tests/test_script_consumption.py
+++ b/tests/test_script_consumption.py
@@ -1,27 +1,29 @@
# coding: utf-8
+from contextlib import contextmanager
import os
import re
import textwrap
-from alembic import command, util
-from alembic.util import compat
-from alembic.script import ScriptDirectory, Script
-from alembic.testing.env import (
- clear_staging_env,
- staging_env,
- _sqlite_testing_config,
- write_script,
- _sqlite_file_db,
- three_rev_fixture,
- _no_sql_testing_config,
- env_file_fixture,
-)
-from alembic.testing import eq_, assert_raises_message
-from alembic.testing.fixtures import TestBase, capture_context_buffer
+from alembic import command
+from alembic import util
from alembic.environment import EnvironmentContext
-from contextlib import contextmanager
+from alembic.script import Script
+from alembic.script import ScriptDirectory
+from alembic.testing import assert_raises_message
+from alembic.testing import eq_
from alembic.testing import mock
+from alembic.testing.env import _no_sql_testing_config
+from alembic.testing.env import _sqlite_file_db
+from alembic.testing.env import _sqlite_testing_config
+from alembic.testing.env import clear_staging_env
+from alembic.testing.env import env_file_fixture
+from alembic.testing.env import staging_env
+from alembic.testing.env import three_rev_fixture
+from alembic.testing.env import write_script
+from alembic.testing.fixtures import capture_context_buffer
+from alembic.testing.fixtures import TestBase
+from alembic.util import compat
class ApplyVersionsFunctionalTest(TestBase):
diff --git a/tests/test_script_production.py b/tests/test_script_production.py
index f7837d9..e57585a 100644
--- a/tests/test_script_production.py
+++ b/tests/test_script_production.py
@@ -1,34 +1,38 @@
-from alembic.testing.fixtures import TestBase
-from alembic.testing import eq_, ne_, assert_raises_message, is_, assertions
-from alembic.testing.env import (
- clear_staging_env,
- staging_env,
- _get_staging_directory,
- _no_sql_testing_config,
- env_file_fixture,
- script_file_fixture,
- _testing_config,
- _sqlite_testing_config,
- three_rev_fixture,
- _multi_dir_testing_config,
- write_script,
- _sqlite_file_db,
- _multidb_testing_config,
-)
-from alembic import command
-from alembic.script import ScriptDirectory
-from alembic.environment import EnvironmentContext
-from alembic.testing import mock
-from alembic import util
-from alembic.operations import ops
-from alembic import autogenerate
-import os
import datetime
+import os
+import re
+
+from dateutil import tz
import sqlalchemy as sa
from sqlalchemy.engine.reflection import Inspector
+
+from alembic import autogenerate
+from alembic import command
+from alembic import util
+from alembic.environment import EnvironmentContext
+from alembic.operations import ops
+from alembic.script import ScriptDirectory
+from alembic.testing import assert_raises_message
+from alembic.testing import assertions
+from alembic.testing import eq_
+from alembic.testing import is_
+from alembic.testing import mock
+from alembic.testing import ne_
+from alembic.testing.env import _get_staging_directory
+from alembic.testing.env import _multi_dir_testing_config
+from alembic.testing.env import _multidb_testing_config
+from alembic.testing.env import _no_sql_testing_config
+from alembic.testing.env import _sqlite_file_db
+from alembic.testing.env import _sqlite_testing_config
+from alembic.testing.env import _testing_config
+from alembic.testing.env import clear_staging_env
+from alembic.testing.env import env_file_fixture
+from alembic.testing.env import script_file_fixture
+from alembic.testing.env import staging_env
+from alembic.testing.env import three_rev_fixture
+from alembic.testing.env import write_script
+from alembic.testing.fixtures import TestBase
from alembic.util import CommandError
-import re
-from dateutil import tz
env, abc, def_ = None, None, None
diff --git a/tests/test_sqlite.py b/tests/test_sqlite.py
index 6718be9..110c65e 100644
--- a/tests/test_sqlite.py
+++ b/tests/test_sqlite.py
@@ -1,8 +1,11 @@
-from alembic.testing.fixtures import op_fixture
-from alembic.testing import assert_raises_message
-from alembic import op
-from sqlalchemy import Integer, Column, Boolean
+from sqlalchemy import Boolean
+from sqlalchemy import Column
+from sqlalchemy import Integer
from sqlalchemy.sql import column
+
+from alembic import op
+from alembic.testing import assert_raises_message
+from alembic.testing.fixtures import op_fixture
from alembic.testing.fixtures import TestBase
diff --git a/tests/test_version_table.py b/tests/test_version_table.py
index 0a545cf..b2e4acd 100644
--- a/tests/test_version_table.py
+++ b/tests/test_version_table.py
@@ -1,11 +1,16 @@
-from alembic.testing.fixtures import TestBase
-from alembic.testing import mock
-from alembic.testing import config, eq_, assert_raises, assert_raises_message
-
-from sqlalchemy import Table, MetaData, Column, String
+from sqlalchemy import Column
+from sqlalchemy import MetaData
+from sqlalchemy import String
+from sqlalchemy import Table
from sqlalchemy.engine.reflection import Inspector
-from alembic import migration
+from alembic import migration
+from alembic.testing import assert_raises
+from alembic.testing import assert_raises_message
+from alembic.testing import config
+from alembic.testing import eq_
+from alembic.testing import mock
+from alembic.testing.fixtures import TestBase
from alembic.util import CommandError
version_table = Table(
diff --git a/tests/test_version_traversal.py b/tests/test_version_traversal.py
index c32c0c8..16cb1a2 100644
--- a/tests/test_version_traversal.py
+++ b/tests/test_version_traversal.py
@@ -1,9 +1,12 @@
-from alembic.testing.env import clear_staging_env, staging_env
-from alembic.testing import assert_raises_message, eq_
from alembic import util
-from alembic.testing.fixtures import TestBase
+from alembic.migration import HeadMaintainer
+from alembic.migration import MigrationStep
+from alembic.testing import assert_raises_message
+from alembic.testing import eq_
from alembic.testing import mock
-from alembic.migration import MigrationStep, HeadMaintainer
+from alembic.testing.env import clear_staging_env
+from alembic.testing.env import staging_env
+from alembic.testing.fixtures import TestBase
class MigrationTest(TestBase):
@@ -665,30 +668,32 @@ class DependsOnBranchTestTwo(MigrationTest):
@classmethod
def setup_class(cls):
"""
- a1 ---+
- |
- a2 ---+--> amerge
- |
- a3 ---+
- ^
- |
- +---------------------------+
- |
- b1 ---+ |
- +--> bmerge overmerge / d1
- b2 ---+ | |
- ^ | |
- | | |
- +--------------------------+ |
- |
- +-----------------------------+
- |
- v
- c1 ---+
- |
- c2 ---+--> cmerge
- |
- c3 ---+
+ Structure::
+
+ a1 ---+
+ |
+ a2 ---+--> amerge
+ |
+ a3 ---+
+ ^
+ |
+ +---------------------------+
+ |
+ b1 ---+ |
+ +--> bmerge overmerge / d1
+ b2 ---+ | |
+ ^ | |
+ | | |
+ +--------------------------+ |
+ |
+ +-----------------------------+
+ |
+ v
+ c1 ---+
+ |
+ c2 ---+--> cmerge
+ |
+ c3 ---+
"""
cls.env = env = staging_env()
@@ -806,14 +811,16 @@ class DependsOnBranchTestThree(MigrationTest):
"""
issue #377
- <base> -> a1 --+--> a2 -------> a3
- | ^ |
- | | +------+
- | | |
- | +---|------+
- | | |
- | v |
- +-------> b1 --> b2 --> b3
+ Structure::
+
+ <base> -> a1 --+--> a2 -------> a3
+ | ^ |
+ | | +------+
+ | | |
+ | +---|------+
+ | | |
+ | v |
+ +-------> b1 --> b2 --> b3
"""
cls.env = env = staging_env()