summaryrefslogtreecommitdiff
path: root/django/db/backends/postgresql/schema.py
diff options
context:
space:
mode:
authorDolan Antenucci <antenucci.d@gmail.com>2019-03-19 13:28:47 -0600
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-04-08 22:24:18 +0200
commitf944cb3d3bc17a97216f8990ff3bb4bee14b6f6b (patch)
tree90108862975d19b0a34ab206a1fbf72359079935 /django/db/backends/postgresql/schema.py
parentafc708cf6d047b35db57bd7c55baeffef459d279 (diff)
downloaddjango-f944cb3d3bc17a97216f8990ff3bb4bee14b6f6b.tar.gz
Fixed #30266 -- Kept a sequence owner when altering an AutoField/BigAutoField on PostgreSQL.
Diffstat (limited to 'django/db/backends/postgresql/schema.py')
-rw-r--r--django/db/backends/postgresql/schema.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/django/db/backends/postgresql/schema.py b/django/db/backends/postgresql/schema.py
index f0df8ad570..3319ee09a9 100644
--- a/django/db/backends/postgresql/schema.py
+++ b/django/db/backends/postgresql/schema.py
@@ -11,6 +11,7 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor):
sql_create_sequence = "CREATE SEQUENCE %(sequence)s"
sql_delete_sequence = "DROP SEQUENCE IF EXISTS %(sequence)s CASCADE"
sql_set_sequence_max = "SELECT setval('%(sequence)s', MAX(%(column)s)) FROM %(table)s"
+ sql_set_sequence_owner = 'ALTER SEQUENCE %(sequence)s OWNED BY %(table)s.%(column)s'
sql_create_index = "CREATE INDEX %(name)s ON %(table)s%(using)s (%(columns)s)%(extra)s%(condition)s"
sql_delete_index = "DROP INDEX IF EXISTS %(name)s"
@@ -101,6 +102,14 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor):
},
[],
),
+ (
+ self.sql_set_sequence_owner % {
+ 'table': self.quote_name(table),
+ 'column': self.quote_name(column),
+ 'sequence': self.quote_name(sequence_name),
+ },
+ [],
+ ),
],
)
else: