将数据从MySQL DB上的Rails迁移到Postgres SQL以与Heroku一起使用

时间:2011-11-01 22:20:15

标签: mysql ruby-on-rails postgresql heroku

我有一个使用MySQL在本地开发的RAILS 3.x应用程序,它具有需要迁移的数据。现在我想部署到Heroku,它使用Postgresql并传输数据。

问题在于处理导入过程不喜欢的NULL数据的列。

我尝试过使用多种不同的策略,例如

  1. yaml_db gem - 根本无法导入
  2. rails-backup-migrate gem - 不喜欢编码的NULL元素;
  3. 点击 - 导入失败但没有太多细节
  4. 有没有人尝试过任何其他策略,宝石或方法?我应该重新开始使用Postgresl本地数据库吗?

    提前谢谢 授予

2 个答案:

答案 0 :(得分:2)

  

我应该重新使用Postgresl本地数据库吗?

Heroku建议您使用Postgres进行本地开发。

  

您的生产和开发环境应尽可能接近相同。这可以防止难以诊断由环境之间的细微差别引入的错误。 Heroku上的每个应用程序都附带一个PostgreSQL数据库作为默认的SQL数据库。因此,您也应该将PostgreSQL用于本地开发数据库。 (http://devcenter.heroku.com/articles/rails3

快速搜索出现了这个:

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

祝你好运!

答案 1 :(得分:0)

我也遇到了这个问题found this gem of a blog post

它表示您可以使用gem called Valkyrie将数据从MySQL数据库迁移到PostgreSQL数据库。您只需使用gem install valkyrie安装gem,然后使用此命令:

valkyrie mysql://datachomp@localhost/seppuku?password=QuickAndPainless postgres://datachomp@127.0.0.1/seppuku