2013-12-10 132 views
0

我想運行現有的項目。我已經恢復我的數據庫並安裝了所有必需的依賴項。在運行syncdb時,我得到了下面的錯誤。syncdb命令不能正常工作

[[email protected] ]# python manage.py syncdb 
Traceback (most recent call last): 
    File "manage.py", line 11, in <module> 
    execute_manager(settings) 
    File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 459, in execute_manager 
    utility.execute() 
    File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 231, in execute 
    self.validate() 
    File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 266, in validate 
    num_errors = get_validation_errors(s, app) 
    File "/usr/local/lib/python2.7/site-packages/django/core/management/validation.py", line 103, in get_validation_errors 
    connection.validation.validate_field(e, opts, f) 
    File "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/validation.py", line 14, in validate_field 
    db_version = self.connection.get_server_version() 
    File "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 415, in get_server_version 
    self.cursor().close() 
    File "/usr/local/lib/python2.7/site-packages/debug_toolbar/utils/tracking/__init__.py", line 9, in wrapped 
    return callback(original, *args, **kwargs) 
    File "/usr/local/lib/python2.7/site-packages/debug_toolbar/panels/sql.py", line 21, in cursor 
    result = original(self) 
    File "/usr/local/lib/python2.7/site-packages/django/db/backends/__init__.py", line 306, in cursor 
    cursor = self.make_debug_cursor(self._cursor()) 
    File "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 387, in _cursor 
    self.connection = Database.connect(**kwargs) 
    File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-i686.egg/MySQLdb/__init__.py", line 81, in Connect 
    return Connection(*args, **kwargs) 
    File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-i686.egg/MySQLdb/connections.py", line 215, in __init__ 
    self.set_character_set(charset) 
    File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-i686.egg/MySQLdb/connections.py", line 294, in set_character_set 
    super(Connection, self).set_character_set(charset) 
_mysql_exceptions.ProgrammingError: (2014, "Commands out of sync; you can't run this command now") 
+0

我可以得到這個問題 – user2681579

回答

0

你在配製sql語句嗎?

例如:cursor.execute('show databases; show tables;')?

如果是這樣,嘗試拆分起來:

cursor.execute( '') cursor.close 重新連接 重複

+0

我應該在哪裏檢查這一點,無論是在我的應用程序的models.py或cursors.py – user2681579

+0

能否請你解釋我在哪裏所做的更改任何解決方案。 – user2681579

0

讓我們先從一個小的調試遊:

  • 1)是數據庫正確配置? 讓我們在沒有mySQL數據庫和SQlite的情況下試用它。如果您沒有任何編程錯誤 - SQLite將直接啓動並同步您的數據庫。爲此,你需要去你 settings.py和重新配置數據庫,以類似於此:

    DATABASES = { 
    'default': { 
    'ENGINE': 'django.db.backends.sqlite3', 
    'NAME': 'database.db',      
    
    'USER': '', 
    'PASSWORD': '', 
    'HOST': '',      
    'PORT': '',      
    

    }}

  • 2)現在,運行syncdb,看看它是否工作。如果它現在可行,則可能需要重新配置數據庫:namepassword,hostport。如果SQlite不起作用 - 請回到這裏並告訴我們確切的錯誤信息。