2016-04-28 2 views
0

Я использую Django 1.6, sqlite3 и South 1.0.1 для переноса моделей. У меня есть таблица myTable, и я хотел бы добавить столбец (поле) в этой таблице. Поэтому я добавляю это поле myField в model.py. Тогда я бегу:юг мигрировать OperationalError в backend: нет такой колонки: myModel.myField

sudo python manage.py schemamigration myApp --auto 
python manage.py migrate myApp 

Это происходит ошибка: XXX table already exist

XXX стол мой первый стол в MYAPP, ИТАК я бегу

python manage.py migrate myApp --fake 

Здесь приходит результат:

Running migrations for myApp: 
- Migrating forwards to 0008_auto__add_field_myTable_myField 
> myModel:0008_auto__add_field_myTable_myField 
    (faked) 

Кажется, нет ошибки, но когда я вхожу в 127.0.0.1/admin/myApp/myTable, не приходит сообщение об ошибке:

OperationalError in myApp:no such column: myTable.myField 

Но я посмотрел на таблицы с помощью команды:

sudo python manage.py sqlall myApp 

myField существует в myTable!

Я не знаю, как исправить это, спасибо!

ответ

0

Ops, я выяснить, почему ... просто добавить

sudo python manage.py schemamigration myApp --auto 
python manage.py migrate myApp --fake 

, прежде чем сделать столбец надстройку.

Смежные вопросы