summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriElectric <unknown>2010-09-07 02:25:29 +0200
committeriElectric <unknown>2010-09-07 02:25:29 +0200
commit653e723ce1932673eb5f4936ced84df9383b131b (patch)
treee0e0c971f4ab6065778d38e2e81f327bdaa0625a
parent28f06524b5428b2692b0915d2de3d6996ff19372 (diff)
downloadsqlalchemy-migrate-653e723ce1932673eb5f4936ced84df9383b131b.tar.gz
move all exception classes to migrate.exceptions
-rw-r--r--docs/api.rst20
-rw-r--r--docs/changelog.rst2
-rw-r--r--migrate/changeset/ansisql.py6
-rw-r--r--migrate/changeset/constraint.py2
-rw-r--r--migrate/changeset/databases/firebird.py6
-rw-r--r--migrate/changeset/databases/mysql.py5
-rw-r--r--migrate/changeset/databases/oracle.py7
-rw-r--r--migrate/changeset/databases/sqlite.py4
-rw-r--r--migrate/changeset/exceptions.py26
-rw-r--r--migrate/changeset/schema.py2
-rw-r--r--migrate/exceptions.py (renamed from migrate/versioning/exceptions.py)14
-rw-r--r--migrate/tests/changeset/test_changeset.py12
-rw-r--r--migrate/tests/changeset/test_constraint.py2
-rw-r--r--migrate/tests/versioning/test_api.py2
-rw-r--r--migrate/tests/versioning/test_genmodel.py2
-rw-r--r--migrate/tests/versioning/test_repository.py2
-rw-r--r--migrate/tests/versioning/test_schema.py3
-rw-r--r--migrate/tests/versioning/test_shell.py2
-rw-r--r--migrate/tests/versioning/test_version.py2
-rw-r--r--migrate/versioning/api.py3
-rw-r--r--migrate/versioning/pathed.py2
-rw-r--r--migrate/versioning/repository.py5
-rw-r--r--migrate/versioning/schema.py3
-rw-r--r--migrate/versioning/script/base.py5
-rw-r--r--migrate/versioning/script/py.py8
-rw-r--r--migrate/versioning/shell.py3
-rw-r--r--migrate/versioning/util/__init__.py7
-rw-r--r--migrate/versioning/version.py3
28 files changed, 78 insertions, 82 deletions
diff --git a/docs/api.rst b/docs/api.rst
index 02462dc..e44f5a1 100644
--- a/docs/api.rst
+++ b/docs/api.rst
@@ -1,3 +1,10 @@
+Module :mod:`exceptions <migrate.exceptions>` -- Exception definitions
+---------------------------------------------------------------------------------------
+
+.. automodule:: migrate.exceptions
+ :members:
+ :synopsis: Migrate exception classes
+
Module :mod:`migrate.changeset` -- Schema migration API
=============================================================
@@ -84,13 +91,6 @@ Module :mod:`visitor <migrate.changeset.databases.visitor>`
.. automodule:: migrate.changeset.databases.visitor
:members:
-Module :mod:`exceptions <migrate.changeset.exceptions>` -- Exception definitions
----------------------------------------------------------------------------------------
-
-.. automodule:: migrate.changeset.exceptions
- :members:
- :synopsis: Changeset exception classes
-
Module :mod:`schema <migrate.changeset.schema>` -- Additional API to SQLAlchemy for migrations
-------------------------------------------------------------------------------------------------
@@ -115,12 +115,6 @@ Module :mod:`api <migrate.versioning.api>` -- Python API commands
:members:
:synopsis: External API for :mod:`migrate.versioning`
-Module :mod:`exceptions <migrate.versioning.exceptions>` -- Exception definitions
---------------------------------------------------------------------------------------
-
-.. automodule:: migrate.versioning.exceptions
- :members:
- :synopsis: Exception classes for :mod:`migrate.versioning`
Module :mod:`genmodel <migrate.versioning.genmodel>` -- ORM Model generator
-------------------------------------------------------------------------------------
diff --git a/docs/changelog.rst b/docs/changelog.rst
index c0edfce..8f2e3b5 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -7,6 +7,8 @@ Fixed bugs
- updated tests for Python 2.7
- added if main condition for manage.py script
- fixed case sensitivity in setup.py dependencies
+- moved :mod:`migrate.changeset.exceptions` and :mod:`migrate.versioning.exceptions`
+ to :mod:`migrate.exceptions`
0.6 (11.07.2010)
---------------------------
diff --git a/migrate/changeset/ansisql.py b/migrate/changeset/ansisql.py
index a608260..e5500b8 100644
--- a/migrate/changeset/ansisql.py
+++ b/migrate/changeset/ansisql.py
@@ -4,6 +4,8 @@
At the moment, this isn't so much based off of ANSI as much as
things that just happen to work with multiple databases.
"""
+import StringIO
+
import sqlalchemy as sa
from sqlalchemy.schema import SchemaVisitor
from sqlalchemy.engine.default import DefaultDialect
@@ -14,8 +16,8 @@ from sqlalchemy.schema import (ForeignKeyConstraint,
UniqueConstraint,
Index)
-from migrate.changeset import exceptions, constraint, SQLA_06
-import StringIO
+from migrate import exceptions
+from migrate.changeset import constraint, SQLA_06
if not SQLA_06:
from sqlalchemy.sql.compiler import SchemaGenerator, SchemaDropper
diff --git a/migrate/changeset/constraint.py b/migrate/changeset/constraint.py
index 866ea10..2e2ec7f 100644
--- a/migrate/changeset/constraint.py
+++ b/migrate/changeset/constraint.py
@@ -3,7 +3,7 @@
"""
from sqlalchemy import schema
-from migrate.changeset.exceptions import *
+from migrate.exceptions import *
from migrate.changeset import SQLA_06
class ConstraintChangeset(object):
diff --git a/migrate/changeset/databases/firebird.py b/migrate/changeset/databases/firebird.py
index 297fe6c..f880035 100644
--- a/migrate/changeset/databases/firebird.py
+++ b/migrate/changeset/databases/firebird.py
@@ -1,10 +1,12 @@
"""
Firebird database specific implementations of changeset classes.
"""
-
-from migrate.changeset import ansisql, exceptions, SQLA_06
from sqlalchemy.databases import firebird as sa_base
+from migrate import exceptions
+from migrate.changeset import ansisql, SQLA_06
+
+
if SQLA_06:
FBSchemaGenerator = sa_base.FBDDLCompiler
else:
diff --git a/migrate/changeset/databases/mysql.py b/migrate/changeset/databases/mysql.py
index 191b77a..badd9fe 100644
--- a/migrate/changeset/databases/mysql.py
+++ b/migrate/changeset/databases/mysql.py
@@ -2,10 +2,13 @@
MySQL database specific implementations of changeset classes.
"""
-from migrate.changeset import ansisql, exceptions, SQLA_06
from sqlalchemy.databases import mysql as sa_base
from sqlalchemy import types as sqltypes
+from migrate import exceptions
+from migrate.changeset import ansisql, SQLA_06
+
+
if not SQLA_06:
MySQLSchemaGenerator = sa_base.MySQLSchemaGenerator
else:
diff --git a/migrate/changeset/databases/oracle.py b/migrate/changeset/databases/oracle.py
index fd2749a..bd761bc 100644
--- a/migrate/changeset/databases/oracle.py
+++ b/migrate/changeset/databases/oracle.py
@@ -2,12 +2,11 @@
Oracle database specific implementations of changeset classes.
"""
import sqlalchemy as sa
-
-from migrate.changeset import ansisql, exceptions
-
from sqlalchemy.databases import oracle as sa_base
-from migrate.changeset import ansisql, exceptions, SQLA_06
+from migrate import exceptions
+from migrate.changeset import ansisql, SQLA_06
+
if not SQLA_06:
OracleSchemaGenerator = sa_base.OracleSchemaGenerator
diff --git a/migrate/changeset/databases/sqlite.py b/migrate/changeset/databases/sqlite.py
index 31fdbdd..01c3642 100644
--- a/migrate/changeset/databases/sqlite.py
+++ b/migrate/changeset/databases/sqlite.py
@@ -8,7 +8,9 @@ from copy import copy
from sqlalchemy.databases import sqlite as sa_base
-from migrate.changeset import ansisql, exceptions, SQLA_06
+from migrate import exceptions
+from migrate.changeset import ansisql, SQLA_06
+
if not SQLA_06:
SQLiteSchemaGenerator = sa_base.SQLiteSchemaGenerator
diff --git a/migrate/changeset/exceptions.py b/migrate/changeset/exceptions.py
deleted file mode 100644
index a3dacbd..0000000
--- a/migrate/changeset/exceptions.py
+++ /dev/null
@@ -1,26 +0,0 @@
-"""
- This module provides exception classes.
-"""
-
-
-class Error(Exception):
- """
- Changeset error.
- """
-
-
-class NotSupportedError(Error):
- """
- Not supported error.
- """
-
-
-class InvalidConstraintError(Error):
- """
- Invalid constraint error.
- """
-
-class MigrateDeprecationWarning(DeprecationWarning):
- """
- Warning for deprecated features in Migrate
- """
diff --git a/migrate/changeset/schema.py b/migrate/changeset/schema.py
index 32a2a8f..a18c9ae 100644
--- a/migrate/changeset/schema.py
+++ b/migrate/changeset/schema.py
@@ -6,8 +6,8 @@ from UserDict import DictMixin
import sqlalchemy
+from migrate.exceptions import *
from migrate.changeset import SQLA_06
-from migrate.changeset.exceptions import *
from migrate.changeset.databases.visitor import (get_engine_visitor,
run_single_visitor)
diff --git a/migrate/versioning/exceptions.py b/migrate/exceptions.py
index 00b5dd6..cb8c409 100644
--- a/migrate/versioning/exceptions.py
+++ b/migrate/exceptions.py
@@ -1,5 +1,5 @@
"""
- Provide exception classes for :mod:`migrate.versioning`
+ Provide exception classes for :mod:`migrate`
"""
@@ -73,3 +73,15 @@ class InvalidScriptError(ScriptError):
class InvalidVersionError(Error):
"""Invalid version error."""
+
+# migrate.changeset
+
+class NotSupportedError(Error):
+ """Not supported error"""
+
+
+class InvalidConstraintError(Error):
+ """Invalid constraint error"""
+
+class MigrateDeprecationWarning(DeprecationWarning):
+ """Warning for deprecated features in Migrate"""
diff --git a/migrate/tests/changeset/test_changeset.py b/migrate/tests/changeset/test_changeset.py
index beeb509..d1a8fd2 100644
--- a/migrate/tests/changeset/test_changeset.py
+++ b/migrate/tests/changeset/test_changeset.py
@@ -3,7 +3,7 @@
import sqlalchemy
from sqlalchemy import *
-from migrate import changeset
+from migrate import changeset, exceptions
from migrate.changeset import *
from migrate.changeset.schema import ColumnDelta
from migrate.tests import fixture
@@ -165,7 +165,7 @@ class TestAddDropColumn(fixture.DB):
# create column with fk
col = Column('data', Integer, ForeignKey(reftable.c.id))
if self.url.startswith('sqlite'):
- self.assertRaises(changeset.exceptions.NotSupportedError,
+ self.assertRaises(exceptions.NotSupportedError,
col.create, self.table)
else:
col.create(self.table)
@@ -189,7 +189,7 @@ class TestAddDropColumn(fixture.DB):
def test_pk(self):
"""Can create columns with primary key"""
col = Column('data', Integer, nullable=False)
- self.assertRaises(changeset.exceptions.InvalidConstraintError,
+ self.assertRaises(exceptions.InvalidConstraintError,
col.create, self.table, primary_key_name=True)
col.create(self.table, primary_key_name='data_pkey')
@@ -228,7 +228,7 @@ class TestAddDropColumn(fixture.DB):
@fixture.usedb(not_supported='sqlite')
def test_unique(self):
"""Can create columns with unique constraint"""
- self.assertRaises(changeset.exceptions.InvalidConstraintError,
+ self.assertRaises(exceptions.InvalidConstraintError,
Column('data', Integer, unique=True).create, self.table)
col = Column('data', Integer)
col.create(self.table, unique_name='data_unique')
@@ -249,7 +249,7 @@ class TestAddDropColumn(fixture.DB):
@fixture.usedb()
def test_index(self):
"""Can create columns with indexes"""
- self.assertRaises(changeset.exceptions.InvalidConstraintError,
+ self.assertRaises(exceptions.InvalidConstraintError,
Column('data', Integer).create, self.table, index_name=True)
col = Column('data', Integer)
col.create(self.table, index_name='ix_data')
@@ -372,7 +372,7 @@ class TestRename(fixture.DB):
# Index renames
if self.url.startswith('sqlite') or self.url.startswith('mysql'):
- self.assertRaises(changeset.exceptions.NotSupportedError,
+ self.assertRaises(exceptions.NotSupportedError,
self.index.rename, index_name2)
else:
assert_index_name(index_name1)
diff --git a/migrate/tests/changeset/test_constraint.py b/migrate/tests/changeset/test_constraint.py
index 66fbb86..f2650e0 100644
--- a/migrate/tests/changeset/test_constraint.py
+++ b/migrate/tests/changeset/test_constraint.py
@@ -5,8 +5,8 @@ from sqlalchemy import *
from sqlalchemy.util import *
from sqlalchemy.exc import *
+from migrate.exceptions import *
from migrate.changeset import *
-from migrate.changeset.exceptions import *
from migrate.tests import fixture
diff --git a/migrate/tests/versioning/test_api.py b/migrate/tests/versioning/test_api.py
index 41152b0..03b6189 100644
--- a/migrate/tests/versioning/test_api.py
+++ b/migrate/tests/versioning/test_api.py
@@ -1,8 +1,8 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
+from migrate.exceptions import *
from migrate.versioning import api
-from migrate.versioning.exceptions import *
from migrate.tests.fixture.pathed import *
from migrate.tests.fixture import models
diff --git a/migrate/tests/versioning/test_genmodel.py b/migrate/tests/versioning/test_genmodel.py
index 61610a1..c0cf786 100644
--- a/migrate/tests/versioning/test_genmodel.py
+++ b/migrate/tests/versioning/test_genmodel.py
@@ -3,8 +3,8 @@
import os
+from migrate.exceptions import *
from migrate.versioning.genmodel import *
-from migrate.versioning.exceptions import *
from migrate.tests import fixture
diff --git a/migrate/tests/versioning/test_repository.py b/migrate/tests/versioning/test_repository.py
index a23cd45..2c489d5 100644
--- a/migrate/tests/versioning/test_repository.py
+++ b/migrate/tests/versioning/test_repository.py
@@ -4,7 +4,7 @@
import os
import shutil
-from migrate.versioning import exceptions
+from migrate import exceptions
from migrate.versioning.repository import *
from migrate.versioning.script import *
from nose.tools import raises
diff --git a/migrate/tests/versioning/test_schema.py b/migrate/tests/versioning/test_schema.py
index d4b4861..8b0033c 100644
--- a/migrate/tests/versioning/test_schema.py
+++ b/migrate/tests/versioning/test_schema.py
@@ -4,8 +4,9 @@
import os
import shutil
+from migrate import exceptions
from migrate.versioning.schema import *
-from migrate.versioning import script, exceptions, schemadiff
+from migrate.versioning import script, schemadiff
from sqlalchemy import *
diff --git a/migrate/tests/versioning/test_shell.py b/migrate/tests/versioning/test_shell.py
index 042ca1f..73472fd 100644
--- a/migrate/tests/versioning/test_shell.py
+++ b/migrate/tests/versioning/test_shell.py
@@ -12,9 +12,9 @@ except ImportError:
from sqlalchemy import MetaData, Table
from nose.plugins.skip import SkipTest
+from migrate.exceptions import *
from migrate.versioning.repository import Repository
from migrate.versioning import genmodel, shell, api
-from migrate.versioning.exceptions import *
from migrate.tests.fixture import Shell, DB, usedb
from migrate.tests.fixture import models
diff --git a/migrate/tests/versioning/test_version.py b/migrate/tests/versioning/test_version.py
index 9ef15ef..7b38c3b 100644
--- a/migrate/tests/versioning/test_version.py
+++ b/migrate/tests/versioning/test_version.py
@@ -1,8 +1,8 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
+from migrate.exceptions import *
from migrate.versioning.version import *
-from migrate.versioning.exceptions import *
from migrate.tests import fixture
diff --git a/migrate/versioning/api.py b/migrate/versioning/api.py
index a08f3bd..c159a49 100644
--- a/migrate/versioning/api.py
+++ b/migrate/versioning/api.py
@@ -29,7 +29,8 @@ import sys
import inspect
import logging
-from migrate.versioning import (exceptions, repository, schema, version,
+from migrate import exceptions
+from migrate.versioning import (repository, schema, version,
script as script_) # command name conflict
from migrate.versioning.util import catch_known_errors, with_engine
diff --git a/migrate/versioning/pathed.py b/migrate/versioning/pathed.py
index 40ec532..fbee0e4 100644
--- a/migrate/versioning/pathed.py
+++ b/migrate/versioning/pathed.py
@@ -6,7 +6,7 @@ import os
import shutil
import logging
-from migrate.versioning import exceptions
+from migrate import exceptions
from migrate.versioning.config import *
from migrate.versioning.util import KeyedInstance
diff --git a/migrate/versioning/repository.py b/migrate/versioning/repository.py
index 987ea37..71f3912 100644
--- a/migrate/versioning/repository.py
+++ b/migrate/versioning/repository.py
@@ -9,7 +9,8 @@ import logging
from pkg_resources import resource_filename
from tempita import Template as TempitaTemplate
-from migrate.versioning import exceptions, version, pathed, cfgparse
+from migrate import exceptions
+from migrate.versioning import version, pathed, cfgparse
from migrate.versioning.template import Template
from migrate.versioning.config import *
@@ -86,7 +87,7 @@ class Repository(pathed.Pathed):
"""
Ensure the target path is a valid repository.
- :raises: :exc:`InvalidRepositoryError <migrate.versioning.exceptions.InvalidRepositoryError>`
+ :raises: :exc:`InvalidRepositoryError <migrate.exceptions.InvalidRepositoryError>`
"""
# Ensure the existence of required files
try:
diff --git a/migrate/versioning/schema.py b/migrate/versioning/schema.py
index eb3beba..ae615b5 100644
--- a/migrate/versioning/schema.py
+++ b/migrate/versioning/schema.py
@@ -10,7 +10,8 @@ from sqlalchemy.sql import and_
from sqlalchemy import exceptions as sa_exceptions
from sqlalchemy.sql import bindparam
-from migrate.versioning import exceptions, genmodel, schemadiff
+from migrate import exceptions
+from migrate.versioning import genmodel, schemadiff
from migrate.versioning.repository import Repository
from migrate.versioning.util import load_model
from migrate.versioning.version import VerNum
diff --git a/migrate/versioning/script/base.py b/migrate/versioning/script/base.py
index 0a9d1b7..4287235 100644
--- a/migrate/versioning/script/base.py
+++ b/migrate/versioning/script/base.py
@@ -2,8 +2,9 @@
# -*- coding: utf-8 -*-
import logging
+from migrate import exceptions
from migrate.versioning.config import operations
-from migrate.versioning import pathed, exceptions
+from migrate.versioning import pathed
log = logging.getLogger(__name__)
@@ -33,7 +34,7 @@ class BaseScript(pathed.Pathed):
"""Ensure this is a valid script
This version simply ensures the script file's existence
- :raises: :exc:`InvalidScriptError <migrate.versioning.exceptions.InvalidScriptError>`
+ :raises: :exc:`InvalidScriptError <migrate.exceptions.InvalidScriptError>`
"""
try:
cls.require_found(path)
diff --git a/migrate/versioning/script/py.py b/migrate/versioning/script/py.py
index 9aeb3f4..efc41f0 100644
--- a/migrate/versioning/script/py.py
+++ b/migrate/versioning/script/py.py
@@ -7,12 +7,12 @@ import logging
from StringIO import StringIO
import migrate
-from migrate.versioning import exceptions, genmodel, schemadiff
+from migrate import exceptions
+from migrate.versioning import genmodel, schemadiff
from migrate.versioning.config import operations
from migrate.versioning.template import Template
from migrate.versioning.script import base
from migrate.versioning.util import import_path, load_model, with_engine
-from migrate.changeset.exceptions import *
log = logging.getLogger(__name__)
@@ -89,7 +89,7 @@ class PythonScript(base.BaseScript):
:param path: Script location
:type path: string
- :raises: :exc:`InvalidScriptError <migrate.versioning.exceptions.InvalidScriptError>`
+ :raises: :exc:`InvalidScriptError <migrate.exceptions.InvalidScriptError>`
:returns: Python module
"""
# Try to import and get the upgrade() func
@@ -141,7 +141,7 @@ class PythonScript(base.BaseScript):
script_func(engine)
except TypeError:
warnings.warn("upgrade/downgrade functions must accept engine"
- " parameter (since version > 0.5.4)", MigrateDeprecationWarning)
+ " parameter (since version > 0.5.4)", exceptions.MigrateDeprecationWarning)
raise
@property
diff --git a/migrate/versioning/shell.py b/migrate/versioning/shell.py
index 8b59bdc..2d36c42 100644
--- a/migrate/versioning/shell.py
+++ b/migrate/versioning/shell.py
@@ -8,7 +8,8 @@ import inspect
import logging
from optparse import OptionParser, BadOptionError
-from migrate.versioning import api, exceptions
+from migrate import exceptions
+from migrate.versioning import api
from migrate.versioning.config import *
from migrate.versioning.util import asbool
diff --git a/migrate/versioning/util/__init__.py b/migrate/versioning/util/__init__.py
index 4d39314..9b79f40 100644
--- a/migrate/versioning/util/__init__.py
+++ b/migrate/versioning/util/__init__.py
@@ -11,11 +11,10 @@ from sqlalchemy import create_engine
from sqlalchemy.engine import Engine
from sqlalchemy.pool import StaticPool
-from migrate.versioning import exceptions
+from migrate import exceptions
from migrate.versioning.util.keyedinstance import KeyedInstance
from migrate.versioning.util.importpath import import_path
-from migrate.changeset import *
log = logging.getLogger(__name__)
@@ -31,7 +30,7 @@ def load_model(dotted_name):
if ':' not in dotted_name:
# backwards compatibility
warnings.warn('model should be in form of module.model:User '
- 'and not module.model.User', MigrateDeprecationWarning)
+ 'and not module.model.User', exceptions.MigrateDeprecationWarning)
dotted_name = ':'.join(dotted_name.rsplit('.', 1))
return EntryPoint.parse('x=%s' % dotted_name).load(False)
else:
@@ -127,7 +126,7 @@ def construct_engine(engine, **opts):
if echo:
warnings.warn('echo=True parameter is deprecated, pass '
'engine_arg_echo=True or engine_dict={"echo": True}',
- MigrateDeprecationWarning)
+ exceptions.MigrateDeprecationWarning)
kwargs['echo'] = echo
# parse keyword arguments
diff --git a/migrate/versioning/version.py b/migrate/versioning/version.py
index 04445a3..a09b8cd 100644
--- a/migrate/versioning/version.py
+++ b/migrate/versioning/version.py
@@ -6,7 +6,8 @@ import re
import shutil
import logging
-from migrate.versioning import exceptions, pathed, script
+from migrate import exceptions
+from migrate.versioning import pathed, script
log = logging.getLogger(__name__)