UserOption の enum 'chat_send_shortcut' で属性タイプが未宣言

プラグインでrspecを実行しようとしたところ、以下のようになりました。

これは、以下の箇所で導入されたようです。

base.attribute :chat_send_shortcut, :integer, default: 0 が欠けている可能性がありますか?

この問題に直面したとき、新しいenumを追加しました。結局、テスト環境でプラグインのマイグレーションを明示的に実行する必要がありました:
RAILS_ENV=test LOAD_PLUGINS=1 bin/rails db:migrate

「いいね!」 2

へぇ、面白いですね。デフォルトで db:migrate にプラグインが含まれると思っていました。
実際、RAILS_ENV=test でプラグインを待っているマイグレーションがいくつかありました。
エラーは解消しました、ありがとうございます!

編集:

実際には、RAILS_ENV=test bin/rake db:migrate を使用すると、「bin/」に注意してください。これは LOAD_PLUGINS を 1 に設定します。

image

bin/rake の内容を確認できます。

if ENV['RAILS_ENV'] == 'test' && ENV['LOAD_PLUGINS'].nil?
  if ARGV.include?('db:migrate') || ARGV.include?('parallel:migrate')
    STDERR.puts "You are attempting to run migrations in your test environment and are not loading plugins, setting LOAD_PLUGINS to 1"
    ENV['LOAD_PLUGINS'] = '1'
  end
end

おそらく、どこかの時点で怠惰から bin/ を打ち込むのをやめてしまったのでしょうね :grinning_face_with_smiling_eyes:

「いいね!」 3

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.