diff --git a/README.md b/README.md index 1079ccb..204476c 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ working across different projects via [VisualMode](https://www.visualmode.dev/). For a steady stream of TILs, [sign up for my newsletter](https://visualmode.kit.com/newsletter). -_1733 TILs and counting..._ +_1734 TILs and counting..._ See some of the other learning resources I work on: @@ -1071,6 +1071,7 @@ If you've learned something here, support my efforts writing daily TILs by - [Cast Common Boolean-Like Values To Booleans](rails/cast-common-boolean-like-values-to-booleans.md) - [Change The Nullability Of A Column](rails/change-the-nullability-of-a-column.md) - [Change The Time Zone Offset Of A DateTime Object](rails/change-the-time-zone-offset-of-a-datetime-object.md) +- [Check How Database Is Configured](rails/check-how-database-is-configured.md) - [Check If ActiveRecord Update Fails](rails/check-if-activerecord-update-fails.md) - [Check If Any Records Have A Null Value](rails/check-if-any-records-have-a-null-value.md) - [Check Specific Attributes On ActiveRecord Array](rails/check-specific-attributes-on-activerecord-array.md) diff --git a/rails/check-how-database-is-configured.md b/rails/check-how-database-is-configured.md new file mode 100644 index 0000000..3a0e263 --- /dev/null +++ b/rails/check-how-database-is-configured.md @@ -0,0 +1,46 @@ +# Check How Database Is Configured + +While making some adjustments to the database connection string (`DATABASE_URL`) +for a pre-production Rails environment, we wanted to check that configuration +options like `sslmode` were picked up. + +From a `rails console` session I can check the live database configuration like +so: + +```ruby +> ActiveRecord::Base.connection_db_config.configuration_hash +=> { + adapter: "postgresql", + encoding: "unicode", + pool: 5, + database: "my_app_development" +} +``` + +I can look at the +[`configuration_hash`](https://api.rubyonrails.org/classes/ActiveRecord/DatabaseConfigurations/HashConfig.html#attribute-i-configuration_hash) +from `rails console` of my pre-prod environment to see more configuration +settings: + +```ruby +> ActiveRecord::Base.connection_db_config.configuration_hash +=> { + adapter: "postgresql", + encoding: "unicode", + pool: 5, + username: "app_user", + password: "super_s3cr3t", + port: 15432, + database: "pre_prod_database", + host: "some-host-123.ondigitalocean.com", + sslmode: "verify-full" +} +``` + +Since I was specifically looking for the `sslmode` value, I can access that +directly: + +```ruby +> ActiveRecord::Base.connection_db_config.configuration_hash[:sslmode] +=> "verify-full" +```