Rails 6.1で、db:schema:loadがdevelopmentとtestのセットで動いてしまう

実現したいこと

bin/rake db:schema:loadを、development環境だけに対して実行したい

発生している問題・分からないこと

ビルド環境の構築に当たり、マスターデータの生成などにデータベースが必要なので、都度構築することとなりました。

ところが、export RAILS_ENV=developmentとしてからbin/rake db:schema:loadとすると、どういうわけかdevelopmentだけでなくtestのデータベースまでロードが動き出してしまい、test側にはアクセスできずに失敗します。

「ダミーのtestを用意する、あるいはtestの設定を削る」というその場しのぎの手段ではなく、このtestが一緒に動くという状況を改善する手段はないでしょうか。

該当のソースコード

sh

1export RAILS_ENV=development 2bin/rake db:schema:load

試したこと・調べたこと

上記の詳細・結果
  • rakeコマンドの後ろにRAILS_ENV=developmentを追加しても、相変わらずtestまで動く
  • bin/rake db:schema:loadではなくbin/rake db:setupを実行しても改善せず
  • bin/rake db:environment:set RAILS_ENV=developmentを事前実行しても同じ
  • シェルはshだけど、export VAR=valueでのあとにexport -pとして環境変数となっていることを確認

補足

  • Rails 6.1 + Ruby 2.7
  • MariaDB 10.6
  • Ubuntu 22.04.3 LTS

コメントを投稿

0 コメント