将一个远程数据库移动/复制到另一个远程数据库

时间:2012-09-08 22:19:04

标签: mysql database heroku migrate

我正在使用heroku来部署我的应用。到目前为止,我一直在使用我的应用程序的开发版本,并将一些数据播种到其中。我还在heroku上设置了生产版本 这两个应用程序都使用一个用ClearDB托管的mysql数据库来存储数据 我只是想将数据从开发版本移到生产版本 使用MySql Workbench,我将dev数据导出到一个文件,并尝试将其导入到prod db,但我收到了拒绝访问错误,因为它尝试使用生产凭据登录到dev db。 数据库具有相同的表/行/列结构。如何从一个数据中获取数据并将其插入另一个数据?

2 个答案:

答案 0 :(得分:1)

将Taps gem添加到您的Gemfile:

gem 'taps'

您应该能够通过以下方式将开发数据提取到本地开发环境:

heroku db:pull --app your_development_app_name

然后将其推送到生产环境:

heroku db:push --app your_production_app_name

这将完全覆盖数据库架构和数据,因此请务必小心。希望它有所帮助!

_ryan

答案 1 :(得分:0)

您可以使用'mysql'和'mysqldump'命令行的组合 客户端将一个数据库的内容“复制”到另一个数据库。这是一个例子 怎么做:

mysqldump --single-transaction -u (old_database_username) -p -h (old_database_host) (database_name) | mysql -h (new_host) -u (new_user) -p -D (new_database)

有换行符:

mysqldump --single-transaction -u (old_database_username) 
-p -h (old_database_host) (database_name) | mysql -h (new_host)
-u (new_user) -p -D (new_database)