Начиная с существующей базы данных, я хочу обновить ее схему. Я меняю одну из своих моделей, затем запускаюDjango migrate не обновит мою базу данных
python manage.py makemigrations myapp
, который создает миграцию, правильно определяя новые таблицы и столбцы. Пример вывода:
Migrations for 'myapp':
0001_initial.py:
- Create model Foo
- Add field Bar
- ...
Тогда я применяю миграции:
python manage.py migrate --database mydb
я получаю этот выход:
Operations to perform:
Apply all migrations: admin, myapp, contenttypes, sessions, auth
Running migrations:
Rendering model states... DONE
Applying admin.0002_logentry_remove_auto_add... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Это, кажется, работает. Гит говорит мне, что файл sqlite, соответствующий «mydb», изменился. Однако вместо внутренних таблиц и столбцов внутри он просто удаляет содержимое, оставляя пустые таблицы со старой схемой.
Что я делаю неправильно?
try: 'python manage.py migrate myapp' –
По умолчанию он попытается применить все возможные миграции (в моем случае только один). – JulienD