summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2007-08-19 23:07:34 +0000
committerAdrian Holovaty <adrian@holovaty.com>2007-08-19 23:07:34 +0000
commit23a736dca9b2a631e841a9daff067558206e7965 (patch)
treef58eafffed997a5d7dcacaa89aa004933224769d
parent8e84d35d38d429fb00a35fd4f770ade39d7772ec (diff)
Refactored get_drop_foreignkey_sql() to DatabaseOperations.drop_foreignkey_sql(). Refs #5106
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5956 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/core/management/sql.py2
-rw-r--r--django/db/backends/__init__.py6
-rw-r--r--django/db/backends/ado_mssql/base.py3
-rw-r--r--django/db/backends/dummy/base.py1
-rw-r--r--django/db/backends/mysql/base.py6
-rw-r--r--django/db/backends/mysql_old/base.py6
-rw-r--r--django/db/backends/oracle/base.py3
-rw-r--r--django/db/backends/postgresql/base.py3
-rw-r--r--django/db/backends/postgresql_psycopg2/base.py3
-rw-r--r--django/db/backends/sqlite3/base.py6
10 files changed, 16 insertions, 23 deletions
diff --git a/django/core/management/sql.py b/django/core/management/sql.py
index 766d05129f..b34b6d3dcc 100644
--- a/django/core/management/sql.py
+++ b/django/core/management/sql.py
@@ -147,7 +147,7 @@ def sql_delete(app, style):
output.append('%s %s %s %s;' % \
(style.SQL_KEYWORD('ALTER TABLE'),
style.SQL_TABLE(backend.quote_name(table)),
- style.SQL_KEYWORD(backend.get_drop_foreignkey_sql()),
+ style.SQL_KEYWORD(connection.ops.drop_foreignkey_sql()),
style.SQL_FIELD(truncate_name(r_name, backend.get_max_name_length()))))
del references_to_delete[model]
if model._meta.has_auto_field and hasattr(backend, 'get_drop_sequence'):
diff --git a/django/db/backends/__init__.py b/django/db/backends/__init__.py
index ea75dcf840..f740bef3bb 100644
--- a/django/db/backends/__init__.py
+++ b/django/db/backends/__init__.py
@@ -85,3 +85,9 @@ class BaseDatabaseOperations(object):
during a CREATE TABLE statement.
"""
return ''
+
+ def drop_foreignkey_sql(self):
+ """
+ Returns the SQL command that drops a foreign key.
+ """
+ return "DROP CONSTRAINT"
diff --git a/django/db/backends/ado_mssql/base.py b/django/db/backends/ado_mssql/base.py
index f97822ebea..56dd944dcd 100644
--- a/django/db/backends/ado_mssql/base.py
+++ b/django/db/backends/ado_mssql/base.py
@@ -113,9 +113,6 @@ def get_random_function_sql():
def get_fulltext_search_sql(field_name):
raise NotImplementedError
-def get_drop_foreignkey_sql():
- return "DROP CONSTRAINT"
-
def get_pk_default_value():
return "DEFAULT"
diff --git a/django/db/backends/dummy/base.py b/django/db/backends/dummy/base.py
index 21a0bb6a5f..e9488540d6 100644
--- a/django/db/backends/dummy/base.py
+++ b/django/db/backends/dummy/base.py
@@ -47,7 +47,6 @@ get_last_insert_id = complain
get_limit_offset_sql = complain
get_random_function_sql = complain
get_fulltext_search_sql = complain
-get_drop_foreignkey_sql = complain
get_pk_default_value = complain
get_max_name_length = ignore
get_start_transaction_sql = complain
diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py
index d00829f502..642d8d4272 100644
--- a/django/db/backends/mysql/base.py
+++ b/django/db/backends/mysql/base.py
@@ -71,6 +71,9 @@ class DatabaseOperations(BaseDatabaseOperations):
sql = "CAST(DATE_FORMAT(%s, '%s') AS DATETIME)" % (field_name, format_str)
return sql
+ def drop_foreignkey_sql(self):
+ return "DROP FOREIGN KEY"
+
class DatabaseWrapper(BaseDatabaseWrapper):
ops = DatabaseOperations()
@@ -164,9 +167,6 @@ def get_random_function_sql():
def get_fulltext_search_sql(field_name):
return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name
-def get_drop_foreignkey_sql():
- return "DROP FOREIGN KEY"
-
def get_pk_default_value():
return "DEFAULT"
diff --git a/django/db/backends/mysql_old/base.py b/django/db/backends/mysql_old/base.py
index a3dfcf0e76..558475e02f 100644
--- a/django/db/backends/mysql_old/base.py
+++ b/django/db/backends/mysql_old/base.py
@@ -81,6 +81,9 @@ class DatabaseOperations(BaseDatabaseOperations):
sql = "CAST(DATE_FORMAT(%s, '%s') AS DATETIME)" % (field_name, format_str)
return sql
+ def drop_foreignkey_sql(self):
+ return "DROP FOREIGN KEY"
+
class DatabaseWrapper(BaseDatabaseWrapper):
ops = DatabaseOperations()
@@ -183,9 +186,6 @@ def get_random_function_sql():
def get_fulltext_search_sql(field_name):
return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name
-def get_drop_foreignkey_sql():
- return "DROP FOREIGN KEY"
-
def get_pk_default_value():
return "DEFAULT"
diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py
index 6198ee8030..318e0cf03e 100644
--- a/django/db/backends/oracle/base.py
+++ b/django/db/backends/oracle/base.py
@@ -189,9 +189,6 @@ def get_random_function_sql():
def get_fulltext_search_sql(field_name):
raise NotImplementedError
-def get_drop_foreignkey_sql():
- return "DROP CONSTRAINT"
-
def get_pk_default_value():
return "DEFAULT"
diff --git a/django/db/backends/postgresql/base.py b/django/db/backends/postgresql/base.py
index 4fec530b5b..b51501f570 100644
--- a/django/db/backends/postgresql/base.py
+++ b/django/db/backends/postgresql/base.py
@@ -143,9 +143,6 @@ def get_random_function_sql():
def get_fulltext_search_sql(field_name):
raise NotImplementedError
-def get_drop_foreignkey_sql():
- return "DROP CONSTRAINT"
-
def get_pk_default_value():
return "DEFAULT"
diff --git a/django/db/backends/postgresql_psycopg2/base.py b/django/db/backends/postgresql_psycopg2/base.py
index 56cb53e3bc..e7bf84d4f4 100644
--- a/django/db/backends/postgresql_psycopg2/base.py
+++ b/django/db/backends/postgresql_psycopg2/base.py
@@ -97,9 +97,6 @@ def get_random_function_sql():
def get_fulltext_search_sql(field_name):
raise NotImplementedError
-def get_drop_foreignkey_sql():
- return "DROP CONSTRAINT"
-
def get_pk_default_value():
return "DEFAULT"
diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py
index 88df473f52..75b5f55077 100644
--- a/django/db/backends/sqlite3/base.py
+++ b/django/db/backends/sqlite3/base.py
@@ -45,6 +45,9 @@ class DatabaseOperations(BaseDatabaseOperations):
# function django_date_trunc that's registered in connect().
return 'django_date_trunc("%s", %s)' % (lookup_type.lower(), field_name)
+ def drop_foreignkey_sql(self):
+ return ""
+
class DatabaseWrapper(BaseDatabaseWrapper):
ops = DatabaseOperations()
@@ -127,9 +130,6 @@ def get_random_function_sql():
def get_fulltext_search_sql(field_name):
raise NotImplementedError
-def get_drop_foreignkey_sql():
- return ""
-
def get_pk_default_value():
return "NULL"