Stagingを構築する場合でもRails.envを変更しないことがよいとされています。
config/environments/staging.rb はアンチパターン!
Stagingでテストデータを作りたいとき、ベタ書きでSeedを作ろうとしましたが、メンテナンス性を考えFactoryBotで実装する方法を示します。
Stagingだけ読み込みたいGemがある例
group :development, :test do
gem 'factory_bot_rails', group: :staging
gem 'ffaker', group: :staging
end
本番サーバー
bundle install --without development test staging
stagingサーバー
bundle install --without development test
require 'factory_bot'
10.times { FactoryBot.create(:user) }
Herokuだけ読み込みたいGemがある例
app.json
{
"env": {
"RAILS_GROUPS": {
"value": "heroku"
}
}
}
Gemfile
source 'https://rubygems.org'
group :heroku do
gem 'rails_12factor'
end
参考