【问题标题】:Easiest way to move data to other database将数据移动到其他数据库的最简单方法
【发布时间】:2013-02-01 20:49:28
【问题描述】:

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

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

我的想法是为旧站点制作 ORM 模型,并使用循环,使用 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 可以轻松抽象出数据库之间的差异,在我看来,这实际上可以工作!或者没有,有更好的方法吗?

【问题讨论】:

    标签: php python sql database migration


    【解决方案1】:

    如果这种迁移只进行一次,我不会采用 ORM 方式。可以从 MySQL 导出符合标准的 SQL 转储,并且可以轻松地将转储导入 PostgreSQL。数据进入 PostgreSQL 后,运行迁移查询以更改方案或使用临时“导入”表并将数据复制到新方案/布局中的表中。

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

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

    最重要的是:测试你的场景,验证结果,慢慢来,你不应该匆忙做这些事情!

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-16
        • 2011-06-06
        • 2017-07-24
        • 1970-01-01
        • 2010-09-22
        • 2012-03-22
        • 2013-01-23
        • 2012-03-19
        相关资源
        最近更新 更多