Open ghiculescu opened 3 weeks ago
Looks like it's being thrown from https://github.com/Shopify/tapioca/blob/316688e5725e95887caa3c61f0db870229c1a0a3/lib/tapioca/runtime/reflection.rb#L49-L53
It might be fine to add ActiveRecord::ConnectionNotEstablished
to the rescue list and skip this constant. I'm not sure if there's anything else we can do.
If rescue
can hide legitimate cases of "missing db connection" during tapioca dsl
then we'd need a smarter implementation.
I'm not sure if this is an issue with tapioca or with the downstream gem, but figured I'd report here and you can tell me to go away if necessary :)
To replicate:
rails new tapioca-bug
gem "noticed", "2.4.1"
to Gemfilegem 'tapioca', require: false
to Gemfilebundle exec tapioca init
It will raise like this:
The issue is the
, :json
here. If you remove that, it works fine, since it doesn't need to do the type lookup anymore.As far as I'm aware, that approach of putting models in
app/models
for a gem is valid, but maybe there's a more correct way to structure the gem. In any case, it works fine everywhere apart from this specific case.The underlying issue, I think, is that Rails thinks there's no connection pool set up. This is not an issue when you boot a Rails app, it's only an issue when tapioca is eager loading.
cc @excid3