Возникла ошибка при подключении MySQL к Django в качестве базы данных бэкенда

Для того, чтобы подключить MySQL как Backend Language для Django, я сделал некоторые изменения в settings.py и привел измененный код ниже

    # Database
    # https://docs.djangoproject.com/en/3.2/ref/settings/#databases
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'django',
            'PASSWORD':'2684',
            'HOST':'127.0.0.1',
            'PORT':'3306',
            'USER':'root'
        }
    }

после сохранения и пока я выполняю команду

python manage.py makemigrations

У меня возникла ошибка

E:\Python\sample_django\root>python manage.py makemigrations
C:\Users\2684j\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\management\commands\makemigrations.py:105: RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': (1193, "Unknown system variable 'default_storage_engine'")
  warnings.warn(
No changes detected

Моя база данных Данные приведены ниже

Имя базы данных : django

Пароль MySQL : 2684

Порт : 3306

Хост : localhost

Пользователь : root

python manage.py makemigrations только упаковывает изменения модели в отдельные файлы миграции. Поскольку вы не внесли никаких дальнейших изменений в свои модели, он говорит "Изменений не обнаружено".

Итак, после выполнения makemigrations, вам нужно выполнить python manage.py migrate, чтобы применить их к вашей базе данных.

Источник

Использовать сначала

Python manage.py makemigrations

then

Python manage.py migrate

Все ваши проблемы исчезнут.

Если это работает, пожалуйста, проголосуйте за меня

Можете ли вы проверить версию вашего MySQL?

Имя переменной, содержащей "default_storage_engine", было изменено с версии 5.5 на 5.7

До версии 5.5 существовал только "storage_engine". Начиная с 5.5, можно было использовать и "storage_engine", и "default_storage_engine", а теперь выше 5.7 принимается только "default_storage_engine".

Вероятной причиной RunTimeError является версия MySQL. Если версия MySQL ниже 5.5, то имя переменной должно быть storage_engine, а если выше 5.7, то default_storage_engine.
Не могли бы вы сообщить нам версию MySQL, которую вы используете?
Вы также можете попробовать добавить следующую структуру OPTIONS в поле settings.py DATABASES:

# Database
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django',
        'PASSWORD':'2684',
        'HOST':'127.0.0.1',
        'PORT':'3306',
        'USER':'root',
        'OPTIONS': {
            "init_command": "SET default_storage_engine=<DB name>",
        },
    }
}

Переменная должна быть storage_engine если версия MySQL<5.5 и default_storage_engine если версия MySQL>5.7

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