Для проекта в Джанго я должен использовать две базы данных: по умолчанию и удаленный . Я создал routers.py
и все работает нормально.
Требовалось создать таблицу на удаленной базе данных, и я создал миграцию, запустил ее, и была создана таблица django_migrations
. Я хочу иметь только одну таблицу django_migrations
в базе данных по умолчанию.
Соответствующая часть routers.py
находится здесь:
class MyRouter(object):
# ...
def allow_migrate(self, db, app_label, model_name=None, **hints):
if app_label == 'my_app':
return db == 'remote'
return None
Я запускаю миграцию так:
python manage.py migrate my_app --database=remote
Теперь, когда я это сделаю:
python manage.py runserver
, я получаю следующее предупреждение:
У вас есть 1 не примененная миграция (и). Ваш проект может работать некорректно, пока вы не примените миграции для приложений: my_app.
Запустите 'python manage.py migrate', чтобы применить их.
Таблицы для my_app
созданные в базе данных remote
, а в django_migrations
внутри базы данных remote
миграции помечены как примененные.
EDIT:
Как заставить Django использовать только одну таблицу django_migrations
, но все же применить миграции в разные базы данных?
Как применить миграции в разные базы данных, чтобы не выдавались предупреждения?