ruby-on-rails – 将多个旧数据库迁移到一个Rails应用程序中

ruby-on-rails – 将多个旧数据库迁移到一个Rails应用程序中,第1张

概述我有几个(旧)Drupal站点需要用一个新的Rails应用程序替换.该新网站应该包含所有旧的Drupal内容.旧的Drupal内容部分被破坏(由于近7年的不稳定升级,已停产的模块等).事实上它是Drupal几乎不相关,只是它导致一些不一致,奇怪的命名和严重规范化的表. 需要导入Rails应用程序的内容很简单:内容(博客条目),附加文件(图像)和注释.我有两个数据库是“陈旧”(不在生产​​中),还有 我有几个(旧)Drupal站点需要用一个新的Rails应用程序替换.该新网站应该包含所有旧的Drupal内容.旧的Drupal内容部分被破坏(由于近7年的不稳定升级,已停产的模块等).事实上它是Drupal几乎不相关,只是它导致一些不一致,奇怪的命名和严重规范化的表.

需要导入Rails应用程序的内容很简单:内容(博客条目),附加文件(图像)和注释.我有两个数据库是“陈旧”(不在生产​​中),还有两个正在生产,但允许下载/锁定一段时间(几小时,几天).因此,迁移不需要针对速度进行优化,也不需要完全保存(意味着:我可以放弃在运行迁移时发布的评论)

Rails(3)应用程序主要完成,并且仅使用Active-record约定.

由于存在约束(破坏,不一致的数据库,需要合并的几个数据库),我更喜欢为此编写迁移,而不是将我的新Rails应用程序连接到丑陋,不一致的遗留数据库.

我的问题是:

>是否有任何环境,宝石或工具可以更轻松地导入Rails:例如允许在某些DSL中从旧版本进行简单映射的东西.
>或者更容易在sql中完全编写我的迁移:SQL查询会将旧数据转换为适合Rails应用程序的结构吗?迁移来自MySQL-> MySQL.
>或者我应该只将Activerecord连接到旧数据库,遍历每一行/结果并运行Object.save!在我的rails应用程序?

解决方法 有趣的是,我在目前的项目中遇到了同样的问题.

我想你应该考虑第二点!

Or is it easIEr to write my migrations
entirely in sql: sql querIEs that will
turn the old data into the structure
that fits the Rails app? Migrating is
from MysqL->MysqL.

编写sql迁移以将数据从旧数据库导入新数据库,然后使用新模式!我想你有一个转储sql文件,其中包含每个旧数据库的INSERT查询列表.

所以这个策略可能是:

>从新架构为旧数据库架构的每个表创建一个sql视图.
>针对您的视图运行这些INSERT.

首先,我将告诉你关于legacy_data gem的内容,它基本上生成了具有相应验证/关联的所有模型层,但鉴于您已经在Rails应用程序中设置了所有必需的模型,它在您的情况下是无用的.

总结

以上是内存溢出为你收集整理的ruby-on-rails – 将多个旧数据库迁移到一个Rails应用程序中全部内容,希望文章能够帮你解决ruby-on-rails – 将多个旧数据库迁移到一个Rails应用程序中所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存