UserOption의 'chat_send_shortcut' 열거형에 선언되지 않은 속성 유형

플러그인에 rspec을 실행하려고 했는데, 다음과 같은 오류가 발생했습니다:

여기서 도입된 것 같습니다:

base.attribute :chat_send_shortcut, :integer, default: 0가 누락된 것이 아닐까요?

새로운 enum을 추가하는 과정에서 동일한 문제에 부딪혔습니다. 결국 테스트 환경에서 플러그인 마이그레이션을 명시적으로 실행해야 했습니다:
RAILS_ENV=test LOAD_PLUGINS=1 bin/rails db:migrate

오, 흥미롭네요. 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:.