summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAndrew Godwin <andrew@aeracode.org>2014-08-07 11:59:11 +1000
committerAndrew Godwin <andrew@aeracode.org>2014-08-07 12:00:13 +1000
commit91195c77d09cde526df75eb06d1c1145e19d8ea5 (patch)
tree180d02ef7baeabaac6511982b684acf6a217e6c5 /django
parent0e69af51b1557ebe3ce93fe31498f3fa797b4b83 (diff)
[1.7.x] Moved index dropping after FK dropping to please MySQL and fix test
Diffstat (limited to 'django')
-rw-r--r--django/db/backends/schema.py34
1 files changed, 17 insertions, 17 deletions
diff --git a/django/db/backends/schema.py b/django/db/backends/schema.py
index b10412751d..8bc9bfa432 100644
--- a/django/db/backends/schema.py
+++ b/django/db/backends/schema.py
@@ -528,23 +528,6 @@ class BaseDatabaseSchemaEditor(object):
"name": constraint_name,
},
)
- # Removed an index?
- if old_field.db_index and not new_field.db_index and not old_field.unique and not (not new_field.unique and old_field.unique):
- # Find the index for this field
- index_names = self._constraint_names(model, [old_field.column], index=True)
- if strict and len(index_names) != 1:
- raise ValueError("Found wrong number (%s) of indexes for %s.%s" % (
- len(index_names),
- model._meta.db_table,
- old_field.column,
- ))
- for index_name in index_names:
- self.execute(
- self.sql_delete_index % {
- "table": self.quote_name(model._meta.db_table),
- "name": index_name,
- }
- )
# Drop any FK constraints, we'll remake them later
fks_dropped = set()
if old_field.rel:
@@ -575,6 +558,23 @@ class BaseDatabaseSchemaEditor(object):
"name": fk_name,
}
)
+ # Removed an index?
+ if old_field.db_index and not new_field.db_index and not old_field.unique and not (not new_field.unique and old_field.unique):
+ # Find the index for this field
+ index_names = self._constraint_names(model, [old_field.column], index=True)
+ if strict and len(index_names) != 1:
+ raise ValueError("Found wrong number (%s) of indexes for %s.%s" % (
+ len(index_names),
+ model._meta.db_table,
+ old_field.column,
+ ))
+ for index_name in index_names:
+ self.execute(
+ self.sql_delete_index % {
+ "table": self.quote_name(model._meta.db_table),
+ "name": index_name,
+ }
+ )
# Change check constraints?
if old_db_params['check'] != new_db_params['check'] and old_db_params['check']:
constraint_names = self._constraint_names(model, [old_field.column], check=True)