Nicht deklarierter Attributtyp für enum 'chat_send_shortcut' in UserOption

Ich habe versucht, rspec auf Plugins auszuführen, und das ist, was ich bekommen habe:

Es scheint hier eingeführt worden zu sein:

Es könnte base.attribute :chat_send_shortcut, :integer, default: 0 fehlen?

Ich bin auf dieses gleiche Problem gestoßen, als ich ein neues Enum hinzugefügt habe. Es stellte sich heraus, dass ich die Plugin-Migrationen explizit für die Testumgebung ausführen musste:
RAILS_ENV=test LOAD_PLUGINS=1 bin/rails db:migrate

2 „Gefällt mir“

Oh, interessant. Ich dachte, db:migrate würde standardmäßig die Plugins einschließen.
Tatsächlich warteten einige meiner Migrationen auf die Plugins unter RAILS_ENV=test.
Der Fehler ist jetzt behoben, danke!

EDIT:
Wenn Sie RAILS_ENV=test bin/rake db:migrate verwenden, beachten Sie das „bin/“, es setzt LOAD_PLUGINS auf 1.

image

Sie können den Inhalt von bin/rake sehen:

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

Irgendwann habe ich wahrscheinlich aus Faulheit aufgehört, bin/ zu tippen :grinning_face_with_smiling_eyes:.

3 „Gefällt mir“

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