summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoulder Sprinters <boulder-sprinters@djangoproject.com>2006-11-05 00:22:01 +0000
committerBoulder Sprinters <boulder-sprinters@djangoproject.com>2006-11-05 00:22:01 +0000
commit58f0b44c74ca3a340f715cadc9f3ffe88ce47108 (patch)
tree60cd2dfd5a2056fdcc63316dd2414d6dfe513a59
parent125cd04d2bea4887c485dc0d75c71b55098e19bf (diff)
[boulder-oracle-sprint] Truncate sequence names with truncate_name
git-svn-id: http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint@4010 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/core/management.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/django/core/management.py b/django/core/management.py
index 9f513a837a..bb957f7e08 100644
--- a/django/core/management.py
+++ b/django/core/management.py
@@ -145,6 +145,7 @@ def _get_sql_model_create(model, known_models=set()):
Returns list_of_sql, pending_references_dict
"""
from django.db import backend, get_creation_module, models
+ from django.db.backends.util import truncate_name
data_types = get_creation_module().DATA_TYPES
opts = model._meta
@@ -198,7 +199,8 @@ def _get_sql_model_create(model, known_models=set()):
# To simulate auto-incrementing primary keys in Oracle -- creating primary tables
if (settings.DATABASE_ENGINE == 'oracle') & (opts.has_auto_field):
- sequence_statement = 'CREATE SEQUENCE %s_sq;' % opts.db_table
+ sequence_name = truncate_name('%s_sq' % opts.db_table, backend.get_max_name_length())
+ sequence_statement = 'CREATE SEQUENCE %s;' % sequence_name
final_output.append(sequence_statement)
trigger_statement = '' + \
'CREATE OR REPLACE trigger %s_tr\n' % opts.db_table + \
@@ -206,7 +208,7 @@ def _get_sql_model_create(model, known_models=set()):
' for each row\n' + \
' when (new.id is NULL)\n' + \
' begin\n' + \
- ' select %s_sq.NEXTVAL into :new.id from DUAL;\n' % opts.db_table + \
+ ' select %s.NEXTVAL into :new.id from DUAL;\n' % sequence_name + \
' end;\n'
final_output.append(trigger_statement)