代码之家  ›  专栏  ›  技术社区  ›  jyoseph

如何将数据从旧的(非ruby)应用程序获取到新的(ruby)应用程序?

  •  0
  • jyoseph  · 技术社区  · 14 年前

    我用Coldfusion建立了一个旧的CMS。我想把数据从旧的CMS转到新的Ruby on Rails应用程序。这不是一套很大的唱片,只有1300张左右。我需要一些建议/想法。

    数据库现在位于不同的服务器上,但这是可以修复的,而且由于我遵循了RoR的“合理默认值”,所以数据库结构是不同的。

    旧数据结构示例:

    旧CMS表示例:

    CONTENT_ID  int
    CONTENT_NAME    varchar 150
    CONTENT_DESC    varchar 500
    CONTENT_ACTIVE  tinyint
    CONTENT_URL varchar 200
    

    新的RoR CMS表示例:

    id  int
    name    varchar 255
    visible tinyint 1
    content text
    created_at  datetime
    updated_at  datetime
    

    我是个新手,所以我都不知道从哪里开始。我打算用一个程序 Navicat 把数据从一个服务器迁移到另一个服务器。可以吗?它有一个 utility that will allow you to map columns .

    4 回复  |  直到 14 年前
        1
  •  2
  •   Vladimir Mukhin    14 年前

    使用CSV(逗号分隔)或管道分隔的纯文本文件在不同的SQL引擎之间传递数据转储一直是本地人的最爱。CSV支持被直接烘焙到Ruby的标准库中。

        2
  •  2
  •   rwilliams    14 年前

    Navicat对你很好。

        3
  •  1
  •   Mladen Jablanović    14 年前

    我建议你用你最熟练的工具。我可能也会

    • 将表转储到SQL文件,然后对其运行两个regexp搜索替换,并将SQL导入另一个数据库或
    • 砍掉一小块 Sequel 基于脚本将记录从一个数据库泵送到另一个数据库。

    但我想也有很多专门的数据迁移工具。

        4
  •  0
  •   Tommaso Barbugli    14 年前

    旧应用程序数据库->csv/json/xml->新应用程序数据库

    我相信编写脚本(Ror migration?)因为进口的目的是最好的,它将在未来为您节省很多时间;)