首先,您不应该删除迁移。现在,再次进行您已删除的所有迁移。
python manage.py makemigrations app_name
对您已删除迁移的所有应用程序执行此操作。
现在,将新数据库添加到 settings.py。暂时不要删除旧的。例如,如果我要添加 MySQL 数据库,我会将以下内容添加到 settings.py 中的 DATABASES 字典中:
'new': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'databasename',
'USER': 'databaseusername',
'PASSWORD': 'databasepassword',
'HOST': 'localhost',
'PORT': '3306',
}
我已将数据库命名为“新”。现在我们有两个数据库“默认”和“新”。现在,您必须通过在新数据库上运行迁移来在新数据库中创建表:
python manage.py migrate --database=new
如果您想将数据传输到新数据库,可以按照这些附加步骤操作。首先,清除新数据库:
python manage.py flush --database=new
现在将旧数据库中的数据导出到 json 文件中:
python manage.py dumpdata>data.json
将此数据导入到新数据库中:
python manage.py loaddata data.json --database=new
现在您可以删除“默认”数据库并将“新”数据库重命名为“默认”。
这个答案中提到的过程摘自my blog https://pythonfusion.com/switch-database-django/.