8

我在生产环境中有一个使用 MySQL 的 Django 部署。

我想用 SQLite 做进一步的开发,所以我想将我现有的数据导入 SQLite 数据库。我

这里有一个 shell 脚本可以将一般的 MySQL 转储转换为 SQLite,但它对我不起作用(显然一般问题并不容易)。

我认为使用 Django 模型执行此操作一定要容易得多。你会怎么做?有没有人有任何脚本来做到这一点?

4

4 回答 4

19

利用

manage.py dumpdata > your_file.json

从生产系统(文档)中导出数据。

然后在开发系统上移动文件并运行

manage.py loaddata your_file.json

您也可以将文件放在名为“initial_data.json”的 your_app/fixtures 文件夹中,当您运行“manage.py syncdb”(文档)时,它将自动加载。

于 2010-12-28T09:26:16.853 回答
2

您是否尝试过使用manage.py dumpdata > datadump,然后在正确设置新数据库时使用 python manage.py loaddata datadump

于 2010-12-28T07:38:25.303 回答
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())

在此处查看完整手册

于 2012-10-19T14:09:13.120 回答
0

也许给南方一试:

http://south.aeracode.org/docs/index.html

于 2010-12-28T07:46:33.853 回答