我已经在服务器上手动创建了测试、生产和开发数据库,但无法弄清楚,如何将数据从本地 myapp_development 数据库传输到服务器上的 myapp_production 数据库?
我搜索并发现如何将 Rails app + pgsql 数据库从本地主机移动到我的服务器?, capistrano 给了我很多错误,我确信必须有一个标准的 Rails 方式或 postgres 方式来执行此操作,因为将数据导出为转储并再次导入它,尽管如果我找不到更好的东西我可能不得不这样做。
我已经在服务器上手动创建了测试、生产和开发数据库,但无法弄清楚,如何将数据从本地 myapp_development 数据库传输到服务器上的 myapp_production 数据库?
我搜索并发现如何将 Rails app + pgsql 数据库从本地主机移动到我的服务器?, capistrano 给了我很多错误,我确信必须有一个标准的 Rails 方式或 postgres 方式来执行此操作,因为将数据导出为转储并再次导入它,尽管如果我找不到更好的东西我可能不得不这样做。
您可以使用pg_dump
然后 scp 将数据库转储到数据库并使用在服务器上运行它来转储数据库psql databse_name < database.dump
我使用 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 为命令添加前缀以选择目标和目标方案。