Почему команда 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

Успех изменения таблицы

enter image description here

Но не добавил историю в таблицу "django_migrations"

enter image description here

У вас есть какие-нибудь идеи? Я не смог найти никакой информации об этом. Спасибо.

Я отключил автокоммит в mariadb. Чтобы использовать транзакцию в моей программе Django.

Вот в чем причина проблемы. Я предполагаю, что команда "python manage.py migration" не использует фиксацию транзакции.

Решение. (Os windows)

откройте файл конфигурации mariadb.

C:\Program Files\MariaDB 10.5\data\my.ini

Затем добавьте (или измените) эту строку в [mysqld] autocommit=1

Перезапустите ПК или mariadb.

Завершено.

Вернуться на верх