2015-08-24 104 views
0

我創建了一個Django應用程序到Azure上的,所以我使用Python工具Visual Studio開發應用程序託管失敗。我在根應用程序的models.py中創建了一個名爲Client的模型。它實際上是一個模型表格,因爲表格列都鏈接到我創建的表單中的字段。我使用MySQL,連接器是MySQLClient,因爲我使用Python 3.4。我跑python manage.py syncdb和顯示以下內容:Django的執行syncdb在應用auth.0001_initial

Operations to perform: 
Synchronize unmigrated apps: staticfiles, messages, VSpace 
Apply all migrations: auth, sessions, contenttypes, sites 
Synchronizing apps without migrations: 
Creating tables... 
    Creating table VSpace_Client 
    Running deferred SQL... 
Installing custom SQL... 
Running migrations: 
Rendering model states... DONE 
Applying auth.0001_initial...Traceback (most recent call last): 

這就是它失敗的地方。我正在研究這個,我遇到了一些關於創建超級用戶的事情。我嘗試過,但輸入憑據後失敗。有誰知道爲什麼會發生這種情況?

編輯1:

回溯:

Traceback (most recent call last): 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\utils.py", line 62, in execute 
    return self.cursor.execute(sql) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\mysql\base.py", line 124, in execute 
    return self.cursor.execute(query, args) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 220, in execute 
    self.errorhandler(self, exc, value) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler 
    raise errorvalue 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 209, in execute 
    r = self._query(query) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 371, in _query 
    rowcount = self._do_query(q) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 335, in _do_query 
    db.query(q) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\connections.py", line 280, in query 
    _mysql.connection.query(self, query) 
_mysql_exceptions.OperationalError: (1050, "Table 'auth_permission' already exists") 

The above exception was the direct cause of the following exception: 

Traceback (most recent call last): 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\manage.py", line 17, in <module> 
    execute_from_command_line(sys.argv) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\__init__.py", line 338, in execute_from_command_line 
    utility.execute() 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\__init__.py", line 330, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\base.py", line 393, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\base.py", line 444, in execute 
    output = self.handle(*args, **options) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\commands\syncdb.py", line 25, in handle 
    call_command("migrate", **options) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\__init__.py", line 120, in call_command 
    return command.execute(*args, **defaults) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\base.py", line 444, in execute 
    output = self.handle(*args, **options) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\core\management\commands\migrate.py", line 221, in handle 
    executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\migrations\executor.py", line 110, in migrate 
    self.apply_migration(states[migration], migration, fake=fake, fake_initial=fake_initial) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\migrations\executor.py", line 148, in apply_migration 
    state = migration.apply(state, schema_editor) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\migrations\migration.py", line 115, in apply 
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\migrations\operations\models.py", line 59, in database_forwards 
    schema_editor.create_model(model) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\base\schema.py", line 286, in create_model 
    self.execute(sql, params or None) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\base\schema.py", line 111, in execute 
    cursor.execute(sql, params) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\utils.py", line 79, in execute 
    return super(CursorDebugWrapper, self).execute(sql, params) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\utils.py", line 64, in execute 
    return self.cursor.execute(sql, params) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\utils.py", line 97, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\utils\six.py", line 658, in reraise 
    raise value.with_traceback(tb) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\utils.py", line 62, in execute 
    return self.cursor.execute(sql) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\django\db\backends\mysql\base.py", line 124, in execute 
    return self.cursor.execute(query, args) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 220, in execute 
    self.errorhandler(self, exc, value) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler 
    raise errorvalue 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 209, in execute 
    r = self._query(query) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 371, in _query 
    rowcount = self._do_query(q) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\cursors.py", line 335, in _do_query 
    db.query(q) 
    File "C:\Users\Vinu\Google Drive\VVN Group\VSPace\VSpace Website\VSpace\VSpace\env\lib\site-packages\MySQLdb\connections.py", line 280, in query 
    _mysql.connection.query(self, query) 
django.db.utils.OperationalError: (1050, "Table 'auth_permission' already exists") 
The Python REPL process has exited 
+0

請添加Traceback –

+0

嗨馬克。剛剛添加了回溯。 – Vinu

回答

1

首先,嘗試運行python manage.py migrate代替syncdb。如果我沒有記錯,syncdb命令將被棄用,而有利於makemigrationsmigrate命令。試試看,事情會變得更好。

相關:您使用的是什麼版本的Django的?

+0

剛剛嘗試過,它工作。我正在使用Django V1.8.3。 – Vinu

+0

太棒了!很高興的事情解決了。 – JwM

1
  1. 刪除遷移文件夾中的所有文件。
  2. 運行:python manage.py makemigrations
  3. 運行:python manage.py migrate
  4. 運行:python manage.py createsuperuser

正如JWM說syncdb已被棄用,現在使用makemigrationsmigrate

+0

嗨4ndr3。我在哪裏可以找到遷移文件夾? – Vinu

+0

我剛剛運行makemigrations和遷移命令,現在它工作正常。 – Vinu

1

auth_permissions表已經存在於您的數據庫,但移民認爲它沒有。嘗試僞造遷移以克服這一點。

./manage.py migrate auth --fake 
+0

剛跑完命令。我收到以下錯誤:django.db.utils.ProgrammingError:(1146,「Table'vspacedb.django_site'does not exist」)。我不確定爲什麼這張桌子是必要的。 – Vinu

+0

馬克,請你能解釋背後的邏輯 - fake。這看起來像一種調試技術。我是Django的新手,所以我不知道這一點。 – Vinu

+0

如果數據庫已經具有該狀態,則僞造是一種跳過遷移(不執行SQL)的方式。請參閱此處:https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-option---fake –

相關問題