You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby on Rails 6 现有Rest API项目如何添加PostgreSQL数据库支持

为已创建的Rails 6.1 API项目添加PostgreSQL支持

没有专门的内置一键命令,可以给已经生成完成的Rails项目直接追加PostgreSQL配置,手动调整3处配置即可完成适配,全程不需要重新创建项目:

  • 调整依赖配置
    打开项目根目录下的Gemfile,找到默认生成的sqlite依赖行gem 'sqlite3',删除后替换为gem 'pg',保存后在项目根目录执行命令安装依赖:
bundle install
  • 替换数据库连接配置
    打开config/database.yml文件,清空原有sqlite相关的配置内容,替换为PostgreSQL适配的配置:
default: &default
  adapter: postgresql
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: <%= ENV.fetch("DB_USERNAME") { 'postgres' } %>
  password: <%= ENV.fetch("DB_PASSWORD") { 'postgres' } %>
  host: <%= ENV.fetch("DB_HOST") { 'localhost' } %>

development:
  <<: *default
  database: myproject_development

test:
  <<: *default
  database: myproject_test

production:
  <<: *default
  database: myproject_production
  username: myproject
  password: <%= ENV["MYPROJECT_DATABASE_PASSWORD"] %>

注意:配置里的用户名、密码字段要和你本地安装PostgreSQL时设置的凭据一致,避免连接报错

  • 验证配置生效
    确保本地PostgreSQL服务处于启动状态,在项目根目录执行rails db:create,如果能正常创建开发、测试环境的数据库,就说明配置完成。之前已经写好的模型、迁移文件不需要额外修改,ActiveRecord会自动适配PostgreSQL语法,后续直接正常执行rails db:migrate等数据库操作命令即可。

如果想省手动改配置的事,也可以新建一个带--database=postgresql参数的同名空项目,把新项目里的Gemfilepg依赖段、database.yml配置直接复制到老项目里,效果和手动修改完全一致。

内容的提问来源于stack exchange,提问作者htamayo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 01:30:45