mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
[3.1.x] Fixed #31735 -- Fixed migrations crash on namespaced inline FK addition on PostgreSQL.
The namespace of the constraint must be included when making the constraint immediate. Regression in22ce5d0031. Thanks Rodrigo Estevao for the report. Backport of2e8941b6f9from master
This commit is contained in:
committed by
Mariusz Felisiak
parent
ac0ff7d700
commit
b8cb14e8a0
@@ -3059,6 +3059,35 @@ class SchemaTests(TransactionTestCase):
|
||||
student = Student.objects.create(name='Some man')
|
||||
doc.students.add(student)
|
||||
|
||||
@isolate_apps('schema')
|
||||
@unittest.skipUnless(connection.vendor == 'postgresql', 'PostgreSQL specific db_table syntax.')
|
||||
def test_namespaced_db_table_foreign_key_reference(self):
|
||||
with connection.cursor() as cursor:
|
||||
cursor.execute('CREATE SCHEMA django_schema_tests')
|
||||
|
||||
def delete_schema():
|
||||
with connection.cursor() as cursor:
|
||||
cursor.execute('DROP SCHEMA django_schema_tests CASCADE')
|
||||
|
||||
self.addCleanup(delete_schema)
|
||||
|
||||
class Author(Model):
|
||||
class Meta:
|
||||
app_label = 'schema'
|
||||
|
||||
class Book(Model):
|
||||
class Meta:
|
||||
app_label = 'schema'
|
||||
db_table = '"django_schema_tests"."schema_book"'
|
||||
|
||||
author = ForeignKey(Author, CASCADE)
|
||||
author.set_attributes_from_name('author')
|
||||
|
||||
with connection.schema_editor() as editor:
|
||||
editor.create_model(Author)
|
||||
editor.create_model(Book)
|
||||
editor.add_field(Book, author)
|
||||
|
||||
def test_rename_table_renames_deferred_sql_references(self):
|
||||
atomic_rename = connection.features.supports_atomic_references_rename
|
||||
with connection.schema_editor(atomic=atomic_rename) as editor:
|
||||
|
||||
Reference in New Issue
Block a user