Open brandondrew opened 1 year ago
Hi @brandondrew,
Thank you for reporting this! I will have a look this weekend, maybe, early.
Hi there,
I've seen this issue too and I suspect it might be to do with the activerecord-postgres_enum
gem. We're using it (currently) in our Rails app. (Aside: it could be considered redundant with Rails 7.1+ as all its functionality is now in core.)
This gem overrides enum_types
to return a symbol-keyed hash rather than a key-pair array:
# With vanilla Rails 7.1
model.connection.enum_types == [["field_type", "value1,value2"], ["status_type", "value1,value2"]]
# With `activerecord-postgres_enum`
model.connection.enum_types == { field_type: ["value1", "value2"], status_type: ["value1", "value2"] }
This checker could be changed to handle both styles, but it seems outwith what this gem is actually aiming to support.
In terms of fixing this issue, I'd think values
should default to an empty array if it can't handle the contents of the enum_types
return value.
I just installed
database_consistency
and ran it in my project. At first glance it looks like it would be fixed by using&.split(',')&.map(&:strip)
but I may be mistaken since I didn't actually test that.