diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-11-30 19:30:27 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-11-30 19:30:27 -0500 |
commit | 7c319dcbbcc527f8577cf2d577e6cc0b87d99661 (patch) | |
tree | ac9a2709534b53b3c84f2653198a7505ca243915 | |
parent | bb90d00e80975fd9930701067066167aee666637 (diff) | |
download | alembic-7c319dcbbcc527f8577cf2d577e6cc0b87d99661.tar.gz |
- repair the rendering of add_fk_constraint(), quoting there too
-rw-r--r-- | alembic/autogenerate/render.py | 8 | ||||
-rw-r--r-- | tests/test_autogen_render.py | 31 | ||||
-rw-r--r-- | tests/test_autogenerate.py | 6 |
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(), |