summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-11-30 19:30:27 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2014-11-30 19:30:27 -0500
commit7c319dcbbcc527f8577cf2d577e6cc0b87d99661 (patch)
treeac9a2709534b53b3c84f2653198a7505ca243915
parentbb90d00e80975fd9930701067066167aee666637 (diff)
downloadalembic-7c319dcbbcc527f8577cf2d577e6cc0b87d99661.tar.gz
- repair the rendering of add_fk_constraint(), quoting there too
-rw-r--r--alembic/autogenerate/render.py8
-rw-r--r--tests/test_autogen_render.py31
-rw-r--r--tests/test_autogenerate.py6
3 files changed, 37 insertions, 8 deletions
diff --git a/alembic/autogenerate/render.py b/alembic/autogenerate/render.py
index ec6165b..16f8c29 100644
--- a/alembic/autogenerate/render.py
+++ b/alembic/autogenerate/render.py
@@ -249,10 +249,10 @@ def _add_fk_constraint(constraint, autogen_context):
args = [
repr(_render_gen_name(autogen_context, constraint.name)),
- source_table,
- target_table,
- repr(source_columns),
- repr(target_columns)
+ repr(_ident(source_table)),
+ repr(_ident(target_table)),
+ repr([_ident(col) for col in source_columns]),
+ repr([_ident(col) for col in target_columns])
]
if source_schema:
args.append(
diff --git a/tests/test_autogen_render.py b/tests/test_autogen_render.py
index 1e25e6b..e020cec 100644
--- a/tests/test_autogen_render.py
+++ b/tests/test_autogen_render.py
@@ -254,6 +254,36 @@ unique=False, """
"schema='CamelSchema', type_='unique')"
)
+ def test_add_fk_constraint(self):
+ m = MetaData()
+ Table('a', m, Column('id', Integer, primary_key=True))
+ b = Table('b', m, Column('a_id', Integer, ForeignKey('a.id')))
+ fk = ForeignKeyConstraint(['a_id'], ['a.id'], name='fk_a_id')
+ b.append_constraint(fk)
+ eq_ignore_whitespace(
+ autogenerate.render._add_fk_constraint(fk, self.autogen_context),
+ "op.create_foreign_key('fk_a_id', 'b', 'a', ['a_id'], ['id'])"
+ )
+
+ def test_add_fk_constraint_schema(self):
+ m = MetaData()
+ Table(
+ 'a', m, Column('id', Integer, primary_key=True),
+ schema="CamelSchemaTwo")
+ b = Table(
+ 'b', m, Column('a_id', Integer, ForeignKey('a.id')),
+ schema="CamelSchemaOne")
+ fk = ForeignKeyConstraint(
+ ["a_id"],
+ ["CamelSchemaTwo.a.id"], name='fk_a_id')
+ b.append_constraint(fk)
+ eq_ignore_whitespace(
+ autogenerate.render._add_fk_constraint(fk, self.autogen_context),
+ "op.create_foreign_key('fk_a_id', 'b', 'a', ['a_id'], ['id'],"
+ " source_schema='CamelSchemaOne', "
+ "referent_schema='CamelSchemaTwo')"
+ )
+
def test_drop_fk_constraint(self):
m = MetaData()
Table('a', m, Column('id', Integer, primary_key=True))
@@ -267,7 +297,6 @@ unique=False, """
def test_drop_fk_constraint_schema(self):
m = MetaData()
- m = MetaData()
Table(
'a', m, Column('id', Integer, primary_key=True),
schema="CamelSchemaTwo")
diff --git a/tests/test_autogenerate.py b/tests/test_autogenerate.py
index 4fb3a53..a458faf 100644
--- a/tests/test_autogenerate.py
+++ b/tests/test_autogenerate.py
@@ -559,7 +559,7 @@ nullable=True))
type_=sa.Numeric(precision=10, scale=2),
nullable=True,
existing_server_default=sa.text('0'))
- op.create_foreign_key(None, order, user, ['user_id'], ['id'])
+ op.create_foreign_key(None, 'order', 'user', ['user_id'], ['id'])
op.alter_column('user', 'a1',
existing_type=sa.TEXT(),
server_default='x',
@@ -630,7 +630,7 @@ nullable=True))
type_=sa.Numeric(precision=10, scale=2),
nullable=True,
existing_server_default=sa.text('0'))
- batch_op.create_foreign_key(None, order, user, ['user_id'], ['id'])
+ batch_op.create_foreign_key(None, 'order', 'user', ['user_id'], ['id'])
with op.batch_alter_table('user', schema=None) as batch_op:
batch_op.alter_column('a1',
@@ -934,7 +934,7 @@ schema='%(schema)s')
nullable=True,
existing_server_default=sa.text('0'),
schema='%(schema)s')
- op.create_foreign_key(None, order, user, ['user_id'], ['id'], \
+ op.create_foreign_key(None, 'order', 'user', ['user_id'], ['id'], \
source_schema='%(schema)s', referent_schema='%(schema)s')
op.alter_column('user', 'a1',
existing_type=sa.TEXT(),