4

我已经在服务器上手动创建了测试、生产和开发数据库,​​但无法弄清楚,如何将数据从本地 myapp_development 数据库传输到服务器上的 myapp_production 数据库?

我搜索并发现如何将 Rails app + pgsql 数据库从本地主机移动到我的服务器?, capistrano 给了我很多错误,我确信必须有一个标准的 Rails 方式或 postgres 方式来执行此操作,因为将数据导出为转储并再次导入它,尽管如果我找不到更好的东西我可能不得不这样做。

4

2 回答 2

4

您可以使用pg_dump然后 scp 将数据库转储到数据库并使用在服务器上运行它来转储数据库psql databse_name < database.dump

于 2013-03-13T17:53:07.123 回答
1

我使用 yaml_db 宝石。它可以将您的数据转储到文件中,然后将其加载回数据库。它是使用 activerecord 编写的,因此它适用于大多数数据库。

网址:https ://github.com/ludicast/yaml_db

rake db:data:dump   ->   Dump contents of Rails database to db/data.yml
rake db:data:load   ->   Load contents of db/data.yml into the database

以 RAILS_ENV=development 或 RAILS_ENV=production 为命令添加前缀以选择目标和目标方案。

于 2013-03-13T17:34:28.467 回答