Show More
@@ -12,10 +12,11 b' from sqlalchemy import __version__ as _s' | |||
|
12 | 12 | |
|
13 | 13 | warnings.simplefilter('always', DeprecationWarning) |
|
14 | 14 | |
|
15 | _sa_version = tuple(int(re.match("\d+", x).group(0)) | |
|
16 | for x in _sa_version.split(".")) | |
|
15 | _sa_version = tuple(int(re.match("\d+", x).group(0)) for x in _sa_version.split(".")) | |
|
17 | 16 | SQLA_07 = _sa_version >= (0, 7) |
|
18 | 17 | SQLA_08 = _sa_version >= (0, 8) |
|
18 | SQLA_09 = _sa_version >= (0, 9) | |
|
19 | SQLA_10 = _sa_version >= (1, 0) | |
|
19 | 20 | |
|
20 | 21 | del re |
|
21 | 22 | del _sa_version |
@@ -23,8 +24,8 b' del _sa_version' | |||
|
23 | 24 | from rhodecode.lib.dbmigrate.migrate.changeset.schema import * |
|
24 | 25 | from rhodecode.lib.dbmigrate.migrate.changeset.constraint import * |
|
25 | 26 | |
|
26 | sqlalchemy.schema.Table.__bases__ += (ChangesetTable,) | |
|
27 | sqlalchemy.schema.Column.__bases__ += (ChangesetColumn,) | |
|
28 | sqlalchemy.schema.Index.__bases__ += (ChangesetIndex,) | |
|
27 | sqlalchemy.schema.Table.__bases__ += (ChangesetTable, ) | |
|
28 | sqlalchemy.schema.Column.__bases__ += (ChangesetColumn, ) | |
|
29 | sqlalchemy.schema.Index.__bases__ += (ChangesetIndex, ) | |
|
29 | 30 | |
|
30 | sqlalchemy.schema.DefaultClause.__bases__ += (ChangesetDefaultClause,) | |
|
31 | sqlalchemy.schema.DefaultClause.__bases__ += (ChangesetDefaultClause, ) |
@@ -97,7 +97,6 b' class ANSIColumnGenerator(AlterTableVisi' | |||
|
97 | 97 | |
|
98 | 98 | table = self.start_alter_table(column) |
|
99 | 99 | self.append("ADD ") |
|
100 | ||
|
101 | 100 | self.append(self.get_column_specification(column)) |
|
102 | 101 | |
|
103 | 102 | for cons in column.constraints: |
@@ -111,7 +111,7 b' class ForeignKeyConstraint(ConstraintCha' | |||
|
111 | 111 | refcolnames, reftable = self._normalize_columns(refcolumns, |
|
112 | 112 | table_name=True) |
|
113 | 113 | super(ForeignKeyConstraint, self).__init__( |
|
114 | colnames, refcolnames, *args,**kwargs | |
|
114 | colnames, refcolnames, *args, **kwargs | |
|
115 | 115 | ) |
|
116 | 116 | if table is not None: |
|
117 | 117 | self._set_parent(table) |
@@ -3,11 +3,15 b'' | |||
|
3 | 3 | |
|
4 | 4 | .. _`SQLite`: http://www.sqlite.org/ |
|
5 | 5 | """ |
|
6 | from UserDict import DictMixin | |
|
6 | try: # Python 3 | |
|
7 | from collections.abc import MutableMapping as DictMixin | |
|
8 | except ImportError: # Python 2 | |
|
9 | from UserDict import DictMixin | |
|
7 | 10 | from copy import copy |
|
8 | 11 | import re |
|
9 | 12 | |
|
10 | 13 | from sqlalchemy.databases import sqlite as sa_base |
|
14 | from sqlalchemy.schema import ForeignKeyConstraint | |
|
11 | 15 | from sqlalchemy.schema import UniqueConstraint |
|
12 | 16 | |
|
13 | 17 | from rhodecode.lib.dbmigrate.migrate import exceptions |
@@ -1,10 +1,13 b'' | |||
|
1 | 1 | """ |
|
2 | 2 | Schema module providing common schema operations. |
|
3 | 3 | """ |
|
4 | import abc | |
|
5 | try: # Python 3 | |
|
6 | from collections.abc import MutableMapping as DictMixin | |
|
7 | except ImportError: # Python 2 | |
|
8 | from UserDict import DictMixin | |
|
4 | 9 | import warnings |
|
5 | 10 | |
|
6 | from UserDict import DictMixin | |
|
7 | ||
|
8 | 11 | import sqlalchemy |
|
9 | 12 | |
|
10 | 13 | from sqlalchemy.schema import ForeignKeyConstraint |
@@ -1,6 +1,17 b'' | |||
|
1 | 1 | """ |
|
2 | 2 | Safe quoting method |
|
3 | 3 | """ |
|
4 | from rhodecode.lib.dbmigrate.migrate.changeset import SQLA_10 | |
|
5 | ||
|
6 | ||
|
7 | def fk_column_names(constraint): | |
|
8 | if SQLA_10: | |
|
9 | return [ | |
|
10 | constraint.columns[key].name for key in constraint.column_keys] | |
|
11 | else: | |
|
12 | return [ | |
|
13 | element.parent.name for element in constraint.elements] | |
|
14 | ||
|
4 | 15 | |
|
5 | 16 | def safe_quote(obj): |
|
6 | 17 | # this is the SQLA 0.9 approach |
@@ -27,6 +27,10 b' class InvalidVersionError(ControlledSche' | |||
|
27 | 27 | """Invalid version number.""" |
|
28 | 28 | |
|
29 | 29 | |
|
30 | class VersionNotFoundError(KeyError): | |
|
31 | """Specified version is not present.""" | |
|
32 | ||
|
33 | ||
|
30 | 34 | class DatabaseNotControlledError(ControlledSchemaError): |
|
31 | 35 | """Database should be under version control, but it's not.""" |
|
32 | 36 |
General Comments 0
You need to be logged in to leave comments.
Login now