我正在尝试将我的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")
有什么想法吗?
答案 0 :(得分:0)
Django需要
1)使用migrate命令到新数据库(如果使用authrouter,请使用以下命令指定数据库:
python manange.py migrate --database = yourdatabasename
2)具有逻辑顺序的dumpdata(例如,如果在table1中你有一个table2的foreing键,table2必须在table1之前导入)
3)要创建逻辑顺序,只需使用
转储单个模型./ manage.py dumpdata myapp1.fist_model myapp1.second_model> ordered_file.json
4)之后加载数据