【问题标题】:synching two databases in heroku rails app在heroku rails应用程序中同步两个数据库
【发布时间】:2014-10-20 20:30:17
【问题描述】:

我在 heroku 中部署了 crm rails 应用程序,所以我的数据库是 postgresql. 我有一个使用 mysql 数据库的 iphone 应用程序。现在我需要做的是将我的 iphone 数据库与我的 heroku 数据库同步。

任何人都可以帮助我吗?可以在heroku中同步两个不同的数据库

提前致谢

【问题讨论】:

  • 这完全取决于您说“不同”数据库时的意思。它们是结构不同,还是只是数据不同?
  • @RichPeck 假设它们具有相同的结构但使用不同的技术,一种是 mysql,另一种是 postgresql。有什么解决办法吗?
  • 是的,但你不会喜欢它
  • 这样的问题很难回答。您应该尝试将数据库转储到 sql 并导入它而不是另一端。会有不同的问题,但这取决于您在 Postgres 中使用了哪些特定于数据库的东西。
  • 是的 - 当我们从 Heroku 迁移回来时,我就是这样做的 - 我会在一分钟内为你写一个答案!

标签: ruby-on-rails heroku


【解决方案1】:

我们这样做的方式是手动进行

是的,这真的很痛苦,但至少你知道它做得对

--

流程

从 Postgres 迁移到 MYSQL 如下:

  1. 使用pg_backups“备份”数据库
  2. 在本地下载备份
  3. 在 MYSQL(我们使用 PHPMyAdmin)中,创建一系列 SQL 调用以将相应的数据插入到正确的表中

据我所知,从 MYSQL 迁移到 Postgres 是一个类似的过程:

  1. Download the SQL dumps 您的 MYSQL DB(我只知道如何在 PHPMyAdmin 中执行此操作)
  2. 将这些文件配置为“PG”就绪
  3. Send the SQL to your Heroku postgres db's

--

备注

具体来说,我只有以下几点:

如果您从 Heroku 转储,您将不会获得传统的 SQL 文件; you'll receive a .dump file。要更改此设置,您需要通过以下方式使用pg_restore

$ cd c:/your/postgres/install/pg_restore/location
$ pg_restore path_to_your_dump.dump > path_to_your_sql.sql

这将使您能够“读取”文件,上传到您的数据库并根据需要导入。那是乐趣开始的时候:)


导入 MYSQL

将MYSQL导入PG db的方式必须手动完成

虽然我们从未直接这样做过(我们只是从 PG 迁移),但您可以做几件事。首先,您可以使用PG2MYSQL converter 让您了解MYSQL 和PG 之间的语法差异

然后我会以 SQL 格式从 MYSQL 执行“转储”。这将为我提供 PG 所需的数据。这将允许我插入到我的 PG 数据库中(您可能必须在本地执行此操作才能确定语法),然后您可以从中修补 MYSQL 数据

我知道这不是最详尽的解释 - 我希望它能给你一些想法

【讨论】:

  • 对不起,我刚刚看到你的回答,这意味着我们需要手动完成。不能以编程方式完成
猜你喜欢
  • 2014-03-26
  • 2019-04-26
  • 1970-01-01
  • 1970-01-01
  • 2014-11-04
  • 2014-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多