我想通过Dokku
将我的应用程序部署到VPS。
将dokku-postgres
documentation和相关的,稀缺的互联网文档放在一起(GitHub上的one),似乎有必要配置database.yml
来使用url环境变量{ {1}}
由于我找不到任何其他信息来源,我想知道应该如何配置url: <%= ENV['DATABASE_URL'] %>
,以及如何将Rails连接到使用Dokku创建的postgres服务。
例如,理所当然地认为将database.yml
链接到url
变量是必要的,这是否足以在我的Rails应用程序和postgres服务之间建立连接,或者是否仍然需要使用用户名和密码?在后一种情况下,我期望使用什么用户名和密码?
以下是我DATABASE_URL
看起来的样子。
database.yml
创建应用程序时,此文件是按原样创建的(除了用于生产的更高的池大小)。您如何建议修改default: &default
adapter: postgresql
encoding: unicode
pool: 5
username: asarluhi
development:
<<: *default
database: fireworks_app_development
test:
<<: *default
database: fireworks_app_test
production:
<<: *default
database: fireworks_app_production
pool: 25
username: fireworks_app
password: <%= ENV['FIREWORKS_APP_DATABASE_PASSWORD'] %>
部分?
dokku-postgres文档声明默认情况下将在链接的应用程序上设置以下(并且没有其他内容):
production
代替棒棒糖postgres服务示例,我会使用DATABASE_URL=postgres://postgres:SOME_PASSWORD@dokku-postgres-lolipop:5432/lolipop
来匹配fireworks_app_production
中数据库的名称。
将database.yml
指向url
变量后仍然需要用户名和密码吗?我希望添加或删除其他内容吗?
答案 0 :(得分:2)
您不需要担心带dokku的database.yml,只需将您的应用上传到服务器,让我们使用&#34; fireworks&#34;就像这个名字一样。
当您第一次上传应用时,会自动创建,因此您无需创建它。
然后安装postgres插件并运行
# that will create the container for the database
$ dokku postgres:create fireworks
# and then you link both, the app with the database
$ dokku postgres:link fireworks fireworks
你不必担心任何其他事情,dokku将连接这个
然后你必须运行db:migrate
,一切准备好了!