Я переместил свой стол с app_a
в другой app_b
с помощью db_table
. Первоначально я добавил мета информацию, как,Django перемещает таблицу в другое приложение с помощью db_table и не удаляет исходную таблицу
# app_b.models.ppy
class Table(models.Model)
# all fields
class Meta:
db_table = 'app_a_table'
app_label = 'app_a'
Если я делать какие-либо изменения в этой таблице в app_b
, миграции не создает новый файл миграции в папке миграции. В нем говорится.
No changes detected in app 'app_b'
Я пытался от этого ans, и прокомментировал app_label = 'app_a'
. Теперь после миграции он обнаруживает изменения и создает файл миграции.
Затем я выполняю команду python manage.py migrate
, она постоянно просит удалить исходную таблицу app_a_table
.
The following content types are stale and need to be deleted:
app_a | table
Any objects related to these content types by a foreign key will also
be deleted. Are you sure you want to delete these content types?
If you're unsure, answer 'no'.
Type 'yes' to continue, or 'no' to cancel: no
Как подавить это уведомление? Как сообщить о миграции django, что эта таблица существует в другом приложении?
Вы должны создать mirgation, что создает новую таблицу. копирует данные и удаляет старые. Не забудьте ссылки. –
@KlausD. если таблица большая, что приведет к значительному времени простоя. – e4c5