【问题标题】:Migrating data from Rails on MySQL DB to Postgres SQL for use with Heroku将数据从 MySQL DB 上的 Rails 迁移到 Postgres SQL 以用于 Heroku
【发布时间】:2011-12-19 21:28:14
【问题描述】:

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

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

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

  1. yaml_db gem - 根本无法导入
  2. rails-backup-migrate gem - 不喜欢编码的 NULL 元素;
  3. 点击 - 导入失败,没有太多细节

有没有人尝试过任何其他策略、宝石或方法?我应该用 Postgresl 本地数据库重新开始吗?

提前致谢 授予

【问题讨论】:

  • 不精通这个问题,有没有办法在推送到heroku之前在本地使用像sqlite这样的中介?
  • 是的——我已经运行了迁移来创建表,并且数据是从另一个遗留系统填充的。但以防万一会重新检查。
  • 是的 - 尝试了 heroku db:push,它在没有太多帮助的情况下突然出现然后失败。
  • Heroku 实际上支持(我的意思是提供支持)水龙头。他们写的。可能有一种方法可以获得更多调试信息,他们可以帮助您。我们已经通过点击成功完成了类似的迁移。

标签: mysql ruby-on-rails postgresql heroku


【解决方案1】:

我也有这个问题,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 

【讨论】:

    【解决方案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

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2018-01-27
      • 1970-01-01
      • 2014-10-27
      • 1970-01-01
      • 2021-12-18
      • 2014-11-13
      • 2019-09-16
      • 1970-01-01
      相关资源
      最近更新 更多