生产中的Rails应用程序有文件shared/.env.production
内容如下:
DB_NAME=db
DB_PASSWORD=pass
处理此文件的gem是什么?我在哪里可以阅读这些约定?如何在开发中设置它?
答案 0 :(得分:2)
您可以使用Dotenv gem。在当前版本文件夹中创建shared/.env.production
的符号链接。也许,您不需要额外的后缀.production
。但是,如果由于某种原因需要,则必须在服务器启动前使用.env.production
手动加载Dotenv.load('.env.production')
。如果您使用的是Unicorn,可以在unicorn.rb
。
after_fork do |server, worker|
Dotenv.overload("#{Rails.root}/.env.production")
defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
end
如果您正在使用Capistrano并希望Capistrano为您创建符号链接,请将文件添加到linked_files
列表中:
set :linked_files, %w{.env.production}
答案 1 :(得分:1)
您可以查看dotenv(通过dotenv-rails gem)。
我相信gem通常会将.env
文件放在根目录中,而不是shared
文件夹。