#16454 closed Bug (needsinfo)
sequence for AUTH_PERMISSION.ID
| Reported by: | Owned by: | nobody | |
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | dev |
| Severity: | Release blocker | Keywords: | oracle |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
manage.py syncdb fails with ORA-06552
Traceback (most recent call last):
File "./manage.py", line 20, in <module>
execute_manager(settings)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/core/management/__init__.py", line 442, in execute_manager
utility.execute()
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/south/management/commands/syncdb.py", line 90, in handle_noargs
syncdb.Command().execute(**options)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/core/management/commands/syncdb.py", line 109, in handle_noargs
emit_post_sync_signal(created_models, verbosity, interactive, db)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/core/management/sql.py", line 190, in emit_post_sync_signal
interactive=interactive, db=db)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/dispatch/dispatcher.py", line 172, in send
response = receiver(signal=self, sender=sender, **named)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/contrib/auth/management/__init__.py", line 56, in create_permissions
content_type=ctype
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/db/models/manager.py", line 138, in create
return self.get_query_set().create(**kwargs)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/db/models/query.py", line 360, in create
obj.save(force_insert=True, using=self.db)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/db/models/base.py", line 463, in save
self.save_base(using=using, force_insert=force_insert, force_update=force_update)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/db/models/base.py", line 556, in save_base
result = manager._insert(values, return_id=update_pk, using=using)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/db/models/manager.py", line 198, in _insert
return insert_query(self.model, values, **kwargs)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/db/models/query.py", line 1456, in insert_query
return query.get_compiler(using=using).execute_sql(return_id)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/db/models/sql/compiler.py", line 810, in execute_sql
cursor = super(SQLInsertCompiler, self).execute_sql(None)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/db/models/sql/compiler.py", line 754, in execute_sql
cursor.execute(sql, params)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/db/backends/util.py", line 34, in execute
return self.cursor.execute(sql, params)
File "/media/sf_workspace_python/djadmin/3rdparty/apps/django/db/backends/oracle/base.py", line 640, in execute
return self.cursor.execute(query, self._param_generator(params))
django.db.utils.IntegrityError: ORA-01400: cannot insert NULL into ("***"."AUTH_PERMISSION"."ID")
params from django/db/backends/oracle/base.py line 640
INSERT INTO "AUTH_PERMISSION" ("NAME", "CONTENT_TYPE_ID", "CODENAME") VALUES (:arg0, :arg1, :arg2) RETURNING "AUTH_PERMISSION"."ID" INTO :arg3
['Can add permission', 1, 'add_permission', <cx_Oracle.NUMBER with value None>]
Django 1.4 pre-alpha SVN-16538
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
cx_Oracle 5.0
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
Change History (5)
comment:1 by , 14 years ago
comment:2 by , 14 years ago
| Resolution: | → needsinfo |
|---|---|
| Status: | new → closed |
I couldn't reproduce the problem with the following procedure:
django-admin.py startproject test16454vi settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': '',
'USER': 'django',
'PASSWORD': 'django',
}
}
DEFAULT_TABLESPACE = 'test16454'
DEFAULT_INDEX_TABLESPACE = 'test16454'
sqlplus
create tablespace test16454 datafile 'test16454.dbf' size 20M;
./manage.py syncdb
Creating tables ... Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_user_permissions Creating table auth_user_groups Creating table auth_user Creating table django_content_type Creating table django_session Creating table django_site You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (leave blank to use 'aaugustin'): [[[ redacted ]]] E-mail address: [[[ redacted ]]] Password: Password (again): Superuser created successfully. Installing custom SQL ... Installing indexes ... No fixtures found.
Oracle Database 10g Express Edition Release 10.2.0.1.0
Since the original report doesn't contain any information about the context, there isn't much more I can do.
comment:4 by , 14 years ago
Indeed, I tested with cx_Oracle 5.1. Unfortunately, I couldn't find anything in cx_Oracle's changelog to explain why the problem was fixed between 5.0 and 5.1.
Reading the last line of the traceback, I'd say the error is "ORA-01400".
Why did you mention "ORA-06552" in the first line of your message? Is it related to #4140?