我在生产环境中有一个使用 MySQL 的 Django 部署。
我想用 SQLite 做进一步的开发,所以我想将我现有的数据导入 SQLite 数据库。我
这里有一个 shell 脚本可以将一般的 MySQL 转储转换为 SQLite,但它对我不起作用(显然一般问题并不容易)。
我认为使用 Django 模型执行此操作一定要容易得多。你会怎么做?有没有人有任何脚本来做到这一点?
我在生产环境中有一个使用 MySQL 的 Django 部署。
我想用 SQLite 做进一步的开发,所以我想将我现有的数据导入 SQLite 数据库。我
这里有一个 shell 脚本可以将一般的 MySQL 转储转换为 SQLite,但它对我不起作用(显然一般问题并不容易)。
我认为使用 Django 模型执行此操作一定要容易得多。你会怎么做?有没有人有任何脚本来做到这一点?
利用
manage.py dumpdata > your_file.json
从生产系统(文档)中导出数据。
然后在开发系统上移动文件并运行
manage.py loaddata your_file.json
您也可以将文件放在名为“initial_data.json”的 your_app/fixtures 文件夹中,当您运行“manage.py syncdb”(文档)时,它将自动加载。
您是否尝试过使用manage.py dumpdata > datadump
,然后在正确设置新数据库时使用 python manage.py loaddata datadump
?
如果您在已安装的应用中有内容类型
INSTALLED_APPS = (
'django.contrib.contenttypes',
)
使用脚本,例如将您的条目复制到新基地:
from django.contrib.contenttypes.models import ContentType
def run():
def do(Table):
if Table is not None:
table_objects = Table.objects.all()
for i in table_objects:
i.save(using='slave')
ContentType.objects.using('slave').all().delete()
for i in ContentType.objects.all():
do(i.model_class())
在此处查看完整手册