我在生产中使用MySQL进行Django部署。
我想用SQLite进行进一步的开发,所以我想将现有数据导入SQLite数据库。我
有一个shell脚本here将一般的MySQL转储转换为SQLite,但它对我不起作用(显然一般问题并不容易)。
我认为使用Django模型这样做必须要容易得多。你会怎么做?有没有人有任何脚本可以做到这一点?
答案 0 :(得分:17)
使用
manage.py dumpdata > your_file.json
从生产系统(docs)导出数据。
然后在开发系统上移动文件并运行
manage.py loaddata your_file.json
您还可以将文件放在your_app / fixtures文件夹中,名称为“initial_data.json”,并在运行“manage.py syncdb”(docs)时自动加载。
答案 1 :(得分:2)
您是否尝试过使用manage.py dumpdata > datadump
,然后在正确设置新数据库时使用python manage.py loaddata datadump
?
答案 2 :(得分:1)
如果您在已安装的应用中有内容类型
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())
请参阅完整的手册here
答案 3 :(得分:0)