#1.どんな状態だったか
ancestryを利用して、railsのプロジェクト内にあらかじめデータは作成してあり、ローカルでは動くのに本番環境で反映されないという状態でした
#2.原因
ancestryはdb/seeds.rbにデータを保存するのですが、このseedファイルを利用するには、データベースの作成コマンドの他にseedを読み込むコマンドを打つ必要があるのですが、それを忘れてしまっていました。
#3.解決方法
RAILS_ENV=production bundle exec rails db:seed
というコマンドを打っていただければ反映できます。
※コマンドの説明
・本番環境なのでRAILS_ENV=production
が必要です
・読み込みを早くするためにrailsの実行コマンドの中からdb関係のコマンドがあえて除かれていることがあるので、bundle exec
をつけています。(はじめに無しで実行してダメだったらつけていただいても良いと思います)
#4.記事の目的
チーム開発をする時に、筆者のようにデプロイを担当する人間が知らない技術が取り込まれることはよくあると思われます。
そのうちの一つが、今回のancestryだったのですが、解決後に、エラーではないのにエラーだと思って検索に時間をかけてしまうのは非常にもったいなかったと思いました。
つきましては取るに足らない内容ではあったのですが、少しでも皆さんの検索時間を減らせれば良いなと思いこの記事を作成しました。
何かのご参考にしていただければと思います。