-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rescue DB connection error. #153
base: main
Are you sure you want to change the base?
Rescue DB connection error. #153
Conversation
@DanielePalombo why should fail when the DB adapter is not present? |
@kennyadsl My fault. This PR aims to do exactly the opposite! The initializer should not fail if the DB connection fails. I'm updating the PR and commit description |
9ead98c
to
efc16bb
Compare
If the DB connection fails the initializer shouldn't raise any error.
efc16bb
to
7638d74
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think rescuing without letting the user know might hide some issues, I suggested a could have alternatives that might work.
Of course if there's no other option we can add this
@@ -24,6 +24,8 @@ class Engine < Rails::Engine | |||
'bolt_config_credentials', | |||
::SolidusBolt::Engine.bolt_config_credentials_hash | |||
) | |||
rescue ActiveRecord::ConnectionNotEstablished | |||
# do nothing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@DanielePalombo since Solidus v3.3 static model prefs can be added passing a string for the class name.
I think at least for the first configuration it can be done that way:
Spree::Config.static_model_preferences.add(
'SolidusBolt::PaymentMethod',
'bolt_credentials',
::SolidusBolt::Engine.bolt_credentials_hash
)
The second one is more tricky because it needs the database, thoughts on using ActiveRecord::Base.connected?
or even specifically SolidusBolt::BoltConfiguration.connected?
?
Summary
If the DB connection fails, the initializer shouldn't raise any error.
Checklist
Check out our PR guidelines for more details.
The following are mandatory for all PRs:
The following are not always needed: