【问题标题】:What should I know before changing my development database?在更改我的开发数据库之前我应该​​知道什么?
【发布时间】:2019-06-24 13:40:57
【问题描述】:

自从我从 Micheal Hartl 的教程中学习 Rails 以来,我的所有应用程序都设置为在开发中使用 SQLite3,但在生产中使用 Postgresql。这会导致在开发中有效但在生产中无效的搜索出现问题。从其他堆栈溢出问题中,我了解到在不同的环境中使用不同的数据库是一个坏主意。

我认为我最好的解决方案是将开发数据库更改为 Postgresql。但我确信这并不像在我的 gemfile 中调整 db 名称那么简单。我还需要进行哪些其他更改?我应该注意哪些潜在的副作用?

提前感谢您提供任何见解。

【问题讨论】:

    标签: ruby-on-rails postgresql sqlite


    【解决方案1】:

    你可以通过两种方式做到这一点。

    第一种方式:

    以下是将 sqlite 转换为 postgres 的步骤。

    • 安装 postgres。
    • 在 Rails 应用中更改 Gemfile 并添加 PG gem。
    • 运行捆绑安装。
    • 将 database.yml 文件更改为使用 postgres。
    • 运行rake db:setup,然后运行rake db:migrate

    一切都应该按预期工作,因为使用rake db:setuprake db:migrate 您将获得与以前相同的数据库。

    第二种方式:

    现在 Rails 还提供了直接将 DB 从一个 DB 更改为另一个 DB 的方法,您可以查看 here

    只需使用以下命令即可完成。

    bin/rails db:system:change --to=postgresql
    

    也复制数据:

    如果你也想复制数据,你可以使用yaml_db gem。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多