Почему команда django migrate не вставляется в таблицу django_migrations
В БД произошли изменения, и модель была изменена. После запуска Makemigrations я запустил migrate.
БД была изменена нормально, но история не была добавлена в таблицу django_migrations.
Из-за этой проблемы предупреждение о продолжении миграции появляется даже после миграции. И когда я пытаюсь мигрировать снова, история не добавляется в таблицу django_migrations, поэтому я пытаюсь изменить БД как раньше, и это, конечно же, ошибка.
Это файл миграции.
class Migration(migrations.Migration):
dependencies = [
('common_py', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='customer_company',
name='del_date',
field=models.DateTimeField(default=None, null=True, verbose_name='삭제일'),
),
]
Выполнить команду "python manage.py migrate"
Result
(venv) PS D:\Projects\AFF\AFF> python manage.py migrate
Operations to perform:
Apply all migrations: auth, common_py, contenttypes, sessions
Running migrations:
Applying common_py.0002_customer_company_del_date... OK
Успех изменения таблицы
Но не добавил историю в таблицу "django_migrations"
У вас есть какие-нибудь идеи? Я не смог найти никакой информации об этом. Спасибо.
Я отключил автокоммит в mariadb. Чтобы использовать транзакцию в моей программе Django.
Вот в чем причина проблемы. Я предполагаю, что команда "python manage.py migration" не использует фиксацию транзакции.
Решение. (Os windows)
откройте файл конфигурации mariadb.
C:\Program Files\MariaDB 10.5\data\my.ini
Затем добавьте (или измените) эту строку в [mysqld] autocommit=1
Перезапустите ПК или mariadb.
Завершено.