ruby-on-rails – 如何配置database.yml以部署到Heroku

ruby-on-rails – 如何配置database.yml以部署到Heroku,第1张

概述我最近升级到最新版本的Rails,我不明白如何将应用程序部署到Heroku. 这是我的database.yml文件 default: &default adapter: postgresql pool: 5 timeout: 5000development: <<: *default database: db/development.sqlite3test: <<: 我最近升级到最新版本的Rails,我不明白如何将应用程序部署到Heroku.

这是我的database.yml文件

default: &default  adapter: postgresql  pool: 5  timeout: 5000development:  <<: *default  database: db/development.sqlite3test:  <<: *default  database: db/test.sqlite3production:  <<: *default  database: db/production.sqlite3

我以前从未在database.yml中看过这种语法.有谁知道如何配置这个?

它看起来与我以前的不同

development: adapter: MysqL2 enCoding: utf8 database: my_app_development pool: 5 username: root password:test: adapter: MysqL2 enCoding: utf8 database: my_app_test pool: 5 username: root password:production: adapter: MysqL2 enCoding: utf8 database: ymca_gym_production pool: 5 username: root password:

谢谢

解决方法 对于Heroku,你将不得不使用postgresql,因为它不支持MysqL2. Heroku有自己的机制来处理数据库,您可以在这里阅读更多信息: https://devcenter.heroku.com/articles/heroku-postgresql

从本质上讲,处理“heroku的数据库”和您在此文件中定义的本地数据库完全不同.您可以更轻松地将sqlite用于本地和测试环境,对于生产,您应该将yaml代码更改为:

development: adapter: MysqL2 enCoding: utf8 database: my_app_development pool: 5 username: root password:test:  adapter: sqlite3  database: db/development.sqlite3  pool: 5  timeout: 5000production:      adapter: postgresql      database: my_database_production      pool: 5      timeout: 5000

上面的代码还不足以使它在heroku上工作,你还需要编辑gemfile内容,如下所示:

gem 'pg',:group => :productiongem 'MysqL2',:group => :developmentgem 'sqlite3',:group => :test

我根据我编写的database.yaml代码制作了gemfile代码.您可以将MysqL2用于开发和测试环境.如果您这样做,您可以更改gemfile内容,:group => [:development,:test]

希望这可以帮助.. :)

总结

以上是内存溢出为你收集整理的ruby-on-rails – 如何配置database.yml以部署到Heroku全部内容,希望文章能够帮你解决ruby-on-rails – 如何配置database.yml以部署到Heroku所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1270518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存