summaryrefslogtreecommitdiff
path: root/django/db/backends/postgresql/schema.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/db/backends/postgresql/schema.py')
-rw-r--r--django/db/backends/postgresql/schema.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/django/db/backends/postgresql/schema.py b/django/db/backends/postgresql/schema.py
index e77915b3b1..b2442f80b7 100644
--- a/django/db/backends/postgresql/schema.py
+++ b/django/db/backends/postgresql/schema.py
@@ -155,6 +155,19 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor):
),
],
)
+ elif old_field.db_parameters(connection=self.connection)['type'] in serial_fields_map:
+ # Drop the sequence if migrating away from AutoField.
+ column = strip_quotes(new_field.column)
+ sequence_name = '%s_%s_seq' % (table, column)
+ fragment, _ = super()._alter_column_type_sql(model, old_field, new_field, new_type)
+ return fragment, [
+ (
+ self.sql_delete_sequence % {
+ 'sequence': self.quote_name(sequence_name),
+ },
+ [],
+ ),
+ ]
else:
return super()._alter_column_type_sql(model, old_field, new_field, new_type)