我应该如何将我的遗留MYSQL数据库导入我将使用Postgres的新Django项目?

时间:2010-03-06 09:12:24

标签: mysql django postgresql

我目前有一个使用MySQL 4.x架构的站点,该站点使用PHP作为后端。我现在在Django-land,我喜欢Postgres到目前为止(这意味着我对两者都是菜鸟)。

在我的新项目中,将表格中的数据导入(整个数据库的转储文件大约为200 MB)最简单的方法是什么?我目前在我的新网站上没有任何设置,我即将在我的服务器上安装postgres。

有一点需要注意的是,目前,MySQL设置不正确,所以数据存储为LATIN1,我需要在进行任何导入之前使用iconv将其转换为真正的西里尔文/ UTF-8,这是一个痛苦的数字这是下一步。

3 个答案:

答案 0 :(得分:3)

Fixtures是您最好的选择。从mysql转储数据,然后将其加载到postgres。

答案 1 :(得分:2)

这是一些工作,但可能:

  1. 制作PostgreSQL兼容转储:

    mysqldump --compatible = postgresql --databases db1> dump.sql

  2. 使用创建PostgreSQL数据库 UTF8

  3. 告诉您即将推出的数据库 import latin1 content:

    将CLIENT_ENCODING设为'LATIN1';

  4. 导入转储并进行一些测试。

  5. 祝你好运!

答案 2 :(得分:1)

我要扔掉一些疯狂的东西。运行syncdb以在Postgres数据库中创建表。然后使用Storm ORM(storm.canonical.com),它可以在一个数据库中打开多个数据库支持并将其保存到另一个数据库中。如果能有效,我真的很感兴趣。

注意:您可以使用Django 1.2中的多数据库支持来执行此操作。也许在SQLAlchemy中也可能。