【发布时间】:2023-03-12 23:10:02
【问题描述】:
我正在尝试将我的 sqlite 数据库迁移到 mysql。我使用了 dumdata/loaddata 命令:
python manage.py dumpdata > datadump.json
接下来将我的 settings.py 更改为
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
# }
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'testowa',
'USER': 'testowy',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '3306',
}
}
然后运行python manage.py loaddata datadump.json
我收到一个错误:
django.db.utils.ProgrammingError: (1146, "Table 'testowa.constance_config' doesn't exist")
有什么想法吗?
【问题讨论】:
-
你跑了吗
./manage.py migrate -
是的。我在数据转储之前和之后都这样做了。之后我得到同样的错误。
-
迁移成功了吗?
-
不,它没有。我认为这是 django-constance 错误。它使用自己的数据库。我会尝试解决它,但这次我没有任何想法。
-
问题可能是由 core/checks/registry.py 中的检查引起的。对我来说,取消注释和跳过检查有助于正确执行迁移。我通过在 PyCharm 的 Debug 中运行迁移发现了这一点。如果您选择评论支票,请稍后重新打开 'm :)