]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
- repair the rendering of add_fk_constraint(), quoting there too
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 1 Dec 2014 00:30:27 +0000 (19:30 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 1 Dec 2014 00:30:27 +0000 (19:30 -0500)
alembic/autogenerate/render.py
tests/test_autogen_render.py
tests/test_autogenerate.py

index ec6165ba2a54e48aa521b71ef99f8ec03b6a14e5..16f8c29f9a8ac657dcc6bb9ecb72fbe7fe4b82b2 100644 (file)
@@ -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(
index 1e25e6b5d909ceb0ef484bcdc6f7632d6719c830..e020cec9e5a5426291ae45f6065114084db3abad 100644 (file)
@@ -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))
@@ -266,7 +296,6 @@ unique=False, """
         )
 
     def test_drop_fk_constraint_schema(self):
-        m = MetaData()
         m = MetaData()
         Table(
             'a', m, Column('id', Integer, primary_key=True),
index 4fb3a532345f52eb51821920e04ced38916bd0bd..a458fafe7cb5a3f9a9541257f2dfbc98bea023ed 100644 (file)
@@ -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(),