Commit deeffde8 authored by Markus Holtermann's avatar Markus Holtermann
Browse files

Fixed #26593 -- Leveraged deferrable_sql() in SchemaEditor

parent c6499d53
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ class BaseDatabaseSchemaEditor(object):

    sql_create_fk = (
        "ALTER TABLE %(table)s ADD CONSTRAINT %(name)s FOREIGN KEY (%(column)s) "
        "REFERENCES %(to_table)s (%(to_column)s) DEFERRABLE INITIALLY DEFERRED"
        "REFERENCES %(to_table)s (%(to_column)s)%(deferrable)s"
    )
    sql_create_inline_fk = None
    sql_delete_fk = "ALTER TABLE %(table)s DROP CONSTRAINT %(name)s"
@@ -889,6 +889,7 @@ class BaseDatabaseSchemaEditor(object):
            "column": self.quote_name(from_column),
            "to_table": self.quote_name(to_table),
            "to_column": self.quote_name(to_column),
            "deferrable": self.connection.ops.deferrable_sql(),
        }

    def _create_unique_sql(self, model, columns):
+0 −4
Original line number Diff line number Diff line
@@ -13,10 +13,6 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor):

    sql_delete_unique = "ALTER TABLE %(table)s DROP INDEX %(name)s"

    sql_create_fk = (
        "ALTER TABLE %(table)s ADD CONSTRAINT %(name)s FOREIGN KEY "
        "(%(column)s) REFERENCES %(to_table)s (%(to_column)s)"
    )
    sql_delete_fk = "ALTER TABLE %(table)s DROP FOREIGN KEY %(name)s"

    sql_delete_index = "DROP INDEX %(name)s ON %(table)s"
+1 −0
Original line number Diff line number Diff line
@@ -1628,6 +1628,7 @@ class SchemaTests(TransactionTestCase):
                    "column": editor.quote_name(column),
                    "to_table": editor.quote_name(table),
                    "to_column": editor.quote_name(model._meta.auto_field.column),
                    "deferrable": connection.ops.deferrable_sql(),
                }
            )
            editor.alter_field(model, get_field(Author, CASCADE, field_class=ForeignKey), field)