#25216: DB migration bug in 1.8.3 when creating ManyToMany relation.
----------------------------+---------------------
Reporter: cx44yale | Owner: nobody
Type: Bug | Status: new
Component: Migrations | Version: 1.8
Severity: Normal | Keywords: migrate
Triage Stage: Unreviewed | Has patch: 0
Easy pickings: 0 | UI/UX: 0
----------------------------+---------------------
Hi,
I have the following very simple code:
from django.contrib.auth.models import User
class Agent(models.Model):
name = models.CharField(max_length=100)
users = models.ManyToManyField(User, related_name='accessible_agents',
default=[])
and when I have an empty database, and do python manage.py migrate.
It gives me error, and I tested on 1.7.8, it works fine.
Operations to perform:
Synchronize unmigrated apps: staticfiles, download, messages
Apply all migrations: admin, auth, contenttypes, sessions
Synchronizing apps without migrations:
Creating tables...
Creating table download_agent
Running deferred SQL...
Traceback (most recent call last):
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/db/backends/utils.py", line 62, in execute
return self.cursor.execute(sql)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/MySQLdb/cursors.py", line 220, in execute
self.errorhandler(self, exc, value)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorvalue
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/MySQLdb/cursors.py", line 209, in execute
r = self._query(query)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/MySQLdb/cursors.py", line 371, in _query
rowcount = self._do_query(q)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/MySQLdb/cursors.py", line 335, in _do_query
db.query(q)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
_mysql_exceptions.OperationalError: (1005, "Can't create table
'portal_aperture.#sql-403_b3' (errno: 150)")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/core/management/__init__.py", line 338, in
execute_from_command_line
utility.execute()
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/core/management/__init__.py", line 330, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/core/management/base.py", line 393, in run_from_argv
self.execute(*args, **cmd_options)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/core/management/base.py", line 444, in execute
output = self.handle(*args, **options)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/core/management/commands/migrate.py", line 179, in handle
created_models = self.sync_apps(connection,
executor.loader.unmigrated_apps)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/core/management/commands/migrate.py", line 317, in
sync_apps
cursor.execute(statement)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/db/backends/utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/db/utils.py", line 97, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/utils/six.py", line 658, in reraise
raise value.with_traceback(tb)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/db/backends/utils.py", line 62, in execute
return self.cursor.execute(sql)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/MySQLdb/cursors.py", line 220, in execute
self.errorhandler(self, exc, value)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorvalue
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/MySQLdb/cursors.py", line 209, in execute
r = self._query(query)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/MySQLdb/cursors.py", line 371, in _query
rowcount = self._do_query(q)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/MySQLdb/cursors.py", line 335, in _do_query
db.query(q)
File "/srv/company/virtualenvs/portal_aperture/lib/python3.4/site-
packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
django.db.utils.OperationalError: (1005, "Can't create table
'portal_aperture.#sql-403_b3' (errno: 150)")
Thanks.
--
Ticket URL: <https://code.djangoproject.com/ticket/25216>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/051.7b65e9c6a9f8d108ff2f93d444e9f99e%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.