【问题标题】:Django won't make migrations with MySQL DatabaseDjango 不会使用 MySQL 数据库进行迁移
【发布时间】:2018-07-29 16:28:40
【问题描述】:

我正在尝试在我的数据库 (MySQL) 和 Django 之间进行迁移。我在Linux中使用了相同的参数并且没有任何问题。现在我正在使用命令:

python manage.py migrate 

我在终端上什么也得不到。但是,如果我让默认参数(对于 sqlite 数据库),该命令将起作用。另外,我注意到它实际上读取了“settings.py”文件,因为如果我写的东西没有任何意义,它会返回一个错误。这是我的参数,我确定它们是正确的(我用 MySQL 命令检查过)。

settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'my_db',
        'USER': 'root',
        'PASSWORD': '123456789_dont_judge_me',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

Error message

我使用的是 Windows 10、Python 3.5 和 Django 2.0。

您知道问题出在哪里吗?

感谢各位好心人的回复!

【问题讨论】:

  • 你遇到了什么错误?
  • 这就是问题所在.. 我没有。什么都没有发生(但有 1 秒的圈数)。
  • 您的命令运行的任何屏幕截图?
  • 刚刚完成@JerinPeterGeorge,它在帖子中。感谢您的帮助!
  • 你能不能试试 python manage.py makemigrations python manage.py migrate 告诉我会发生什么?

标签: python mysql django


【解决方案1】:

你可以试试这个。

注意:我并不是说这是最好的解决方案,但它对我有用 在 Window10 的情况下。

第一步:安装pymysql

pip install pymysql

Step2:编辑settings.py

settings.py
---------------
import os
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb


# Database
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django_test',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

第三步:迁移它

python manage.py migrate

你可以关注这个link

【讨论】:

    猜你喜欢
    • 2017-02-10
    • 2019-12-02
    • 1970-01-01
    • 2013-06-17
    • 2020-04-21
    • 2011-12-07
    • 1970-01-01
    • 2023-03-12
    • 2018-03-04
    相关资源
    最近更新 更多