【问题标题】:How to transfer Postgres localhost development database data to production database on server in Rails App?如何将 Postgres localhost 开发数据库数据传输到 Rails App 中服务器上的生产数据库?
【发布时间】:2018-08-27 19:49:57
【问题描述】:

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

我搜索并找到了这个How to move Rails app + pgsql database from localhost to my server?,capistrano 给了我很多错误,我确信必须有一个标准的 Rails 方式或 postgres 方式来执行此操作,因为我可能不得不将数据导出为转储并再次导入它如果我找不到更好的,那就去做吧。

【问题讨论】:

    标签: ruby-on-rails postgresql


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我使用 yaml_db gem。它可以将您的数据转储到文件中,然后将其加载回数据库。它是使用 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 以选择目标和目标方案。

      【讨论】:

      • Boris,它看起来不错,但来自 yaml_db 页面 - “设计不支持用户、权限、模式、触发器和其他高级数据库功能。” ,我确实需要导出用户数据
      • 您要导出 PostgreSQL 用户?您不是只使用一个 PostgreSQL 用户来访问您的架构吗?另外我建议为生产用户提供不同的密码,这样就不会意外地针对生产数据库运行任何开发脚本。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 2023-04-04
      • 2013-07-11
      • 2013-06-28
      • 2023-04-05
      • 1970-01-01
      相关资源
      最近更新 更多