2012-04-08 3 views
1

syncdb을 실행했을 때오류가 발생했습니다. 아마도 FK와 관련이 있습니다. 그러나, 내가 반복적으로 syncdb을 실행하면 결국 작동합니다 (아래 전체 추적). 이것은 왜 발생 하는가?SYNCDB를 반복하면 다른 결과가 발생합니까?

david-MacBook-Pro$ syncdb 
    Creating tables ... 
    Creating table jobs_company 
    Creating table jobs_job 
    Traceback (most recent call last): 
     File "manage.py", line 14, in <module> 
     execute_manager(settings) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 438, in execute_manager 
     utility.execute() 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute 
     self.fetch_command(subcommand).run_from_argv(self.argv) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv 
     self.execute(*args, **options.__dict__) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 220, in execute 
     output = self.handle(*args, **options) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 351, in handle 
     return self.handle_noargs(**options) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 101, in handle_noargs 
     cursor.execute(statement) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/util.py", line 34, in execute 
     return self.cursor.execute(sql, params) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 86, in execute 
     return self.cursor.execute(query, args) 
     File "build/bdist.macosx-10.6-intel/egg/MySQLdb/cursors.py", line 174, in execute 
     File "build/bdist.macosx-10.6-intel/egg/MySQLdb/connections.py", line 36, in defaulterrorhandler 
    _mysql_exceptions.OperationalError: (1005, "Can't create table 'david542.#sql-2c3_57e' (errno: 150)") 
    david-MacBook-Pro:$ syncdb 
    Creating tables ... 
    Creating table jobs_jobposition 
    Creating table jobs_externaljob 
    Creating table jobs_externalsite 
    Creating table jobs_sitevisit 
    Traceback (most recent call last): 
     File "manage.py", line 14, in <module> 
     execute_manager(settings) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 438, in execute_manager 
     utility.execute() 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute 
     self.fetch_command(subcommand).run_from_argv(self.argv) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv 
     self.execute(*args, **options.__dict__) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 220, in execute 
     output = self.handle(*args, **options) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 351, in handle 
     return self.handle_noargs(**options) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 101, in handle_noargs 
     cursor.execute(statement) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/util.py", line 34, in execute 
     return self.cursor.execute(sql, params) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 86, in execute 
     return self.cursor.execute(query, args) 
     File "build/bdist.macosx-10.6-intel/egg/MySQLdb/cursors.py", line 174, in execute 
     File "build/bdist.macosx-10.6-intel/egg/MySQLdb/connections.py", line 36, in defaulterrorhandler 
    _mysql_exceptions.OperationalError: (1005, "Can't create table 'david542.#sql-2c3_57f' (errno: 150)") 
    david-MacBook-Pro$ syncdb 
    Creating tables ... 
    Creating table jobs_application 
    Traceback (most recent call last): 
     File "manage.py", line 14, in <module> 
     execute_manager(settings) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 438, in execute_manager 
     utility.execute() 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute 
     self.fetch_command(subcommand).run_from_argv(self.argv) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv 
     self.execute(*args, **options.__dict__) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 220, in execute 
     output = self.handle(*args, **options) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 351, in handle 
     return self.handle_noargs(**options) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 101, in handle_noargs 
     cursor.execute(statement) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/util.py", line 34, in execute 
     return self.cursor.execute(sql, params) 
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 86, in execute 
     return self.cursor.execute(query, args) 
     File "build/bdist.macosx-10.6-intel/egg/MySQLdb/cursors.py", line 174, in execute 
     File "build/bdist.macosx-10.6-intel/egg/MySQLdb/connections.py", line 36, in defaulterrorhandler 
    _mysql_exceptions.OperationalError: (1005, "Can't create table 'david542.#sql-2c3_580' (errno: 150)") 
    david-MacBook-Pro$ syncdb 
    Creating tables ... 
    Installing custom SQL ... 
    Installing indexes ... 
    No fixtures found. 

그리고 작동합니까?

답변

2

FK가 생성되지 않아 작동합니다. 생성 된 SQL을 분석하여 오류가 _ 생하는 이유를 확인하고 적절한 경우 settings.INSTALLED_APPS의 순서를 바꾸십시오.

+0

어떻게 장고가 CREATE TABLE에서 생성하는 SQL을 분석하겠습니까? – David542

+1

'sqlall' 동사가 제공해야합니다. –

+0

FK가 실제로 여기에서 만들어지고있는 것 같습니다. 왜 실패하고 성공 하는가? 작동이 항상 실패하거나 항상 성공하지 않는 이유는 무엇입니까? – David542

관련 문제