Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Django项目从MySQL迁移到PostgreSQL的最简单方法_Mysql_Django_Postgresql_Migration - Fatal编程技术网

将Django项目从MySQL迁移到PostgreSQL的最简单方法

将Django项目从MySQL迁移到PostgreSQL的最简单方法,mysql,django,postgresql,migration,Mysql,Django,Postgresql,Migration,我想将Django项目的数据库从MySQL转换为PostgreSQL。不幸的是,我不能只使用Django的“dumpdata”和“loaddata”管理命令,因为我的数据库表太大了。我已经读过这篇文章了,但是要在实践中使用这个方法,我仍然需要将它转换成一个管理命令,当它复制模型实例和重置序列时,可以在可用模型上进行迭代。此外,它看起来也不是很快,因为它在每个模型实例上都发出save() 有更好的迁移方式吗?实际上,我更喜欢做“mysqldump”,以某种方式将转储从MySQL转换为Postgre

我想将Django项目的数据库从MySQL转换为PostgreSQL。不幸的是,我不能只使用Django的“dumpdata”和“loaddata”管理命令,因为我的数据库表太大了。我已经读过这篇文章了,但是要在实践中使用这个方法,我仍然需要将它转换成一个管理命令,当它复制模型实例和重置序列时,可以在可用模型上进行迭代。此外,它看起来也不是很快,因为它在每个模型实例上都发出save()

有更好的迁移方式吗?实际上,我更喜欢做“mysqldump”,以某种方式将转储从MySQL转换为PostgreSQL格式,然后将其加载到PostgreSQL。您建议使用哪种软件来执行这种转储转换,并正确地将MySQL数据类型转换为PostgreSQL数据类型,例如tinyint(1)转换为boolean


编辑感谢大家的帮助。我使用实用程序成功迁移了我的数据库。但是,在导入转储后,我仍然必须自己重置生成的PostgreSQL数据库中的序列。

有几个转换器,例如,Ruby中的这一个:

如果您的数据集很大,您需要进行任何转换,您可以使用开源解决方案(如和的kettle项目)来创建地图,它将负责其余的工作;但是,除非您还想进行任何转换(或者您的数据集非常非常大),否则这可能是过火了

EnterpriseDB(postgresql背后的公司)提供了一种产品,如果您想自己动手,它可以与a一起完成这项工作


python包是另一种选择。

谢谢,我要试试这个。我已经听说了,但我不知道它也可以生成db转储。我发现用python重写Ruby脚本对我更有效:我已经删除了我的答案。下次我会读两遍这个问题。祝你移民好运!我有一些使用Talend Studio和Pentaho的经验,我决不会建议将它们用于此目的。KIS-使用小型、简单但高效的工具进行特定操作。用锤子钉耳环不是个好主意。。。