将数据移动到其他数据库的最简单方法


Easiest way to move data to other database

我的博客有两个版本:第一个是用PHP编写的,使用MySQL,但第二个是新的,是用Python编写的,使用Postgres。

我的目标是将数据从一个移动到另一个。表名和架构更改。

我的想法是为旧站点制作ORM模型,并使用loop使用ORM获取数据并将其放入新数据库中,因为我的新站点也有ORM模型。

它看起来像这样:

old_articles = OldArticle.objects.all()
for old_article in old_articles:
    new_article = NewArticle()
    new_article.title = old_article.name
    new_article.content = old_article.body
    new_article.save()

ORM很容易抽象数据库之间的差异,在我看来,这实际上可以工作!或者没有,有更好的方法吗?

如果此迁移只执行一次,我不会采用ORM方式。从MySQL导出符合标准的SQL转储是可能的,并且转储可以很容易地导入PostgreSQL。数据在 PostgreSQL 中后,运行迁移查询以更改方案或使用临时"导入"表并将数据复制到新方案/布局中的表中。

测试所有迁移查询并编写一个方案,其中包含要执行的所有步骤、要运行的查询以及运行顺序。还包括需要执行的手动步骤。

一旦您确定迁移方案是正确的,并且经过全面测试,请将您的旧博客置于"维护模式"(抱歉,我们处于离线状态,我们很快就会回来)并真正做到这一点!

最重要的是:测试你的方案,验证结果,慢慢来,你永远不应该急于这些事情!

有很多库可以做这种事情。 我会坚持已经实现并经过良好测试的东西。这是一个指向postgres wiki的链接,其中包含可以执行此操作的工具列表。

http://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL