Fix database name lost from connection config
What does this MR do?
When the config/database.yml
is using a three-tier config with main:
, fix a place where we call establish_connection
, and lose the database name. This ~bug was first found in !68232 (comment 652631254)
Screenshots or Screencasts (strongly suggested)
How to setup and validate locally (strongly suggested)
- Setup the
config/database.yml
to have three-tier style config. It should already be setup so with GDK [1] - if not, runmake gitlab/config/database.yml
to regenerate it. - Run rails console
-
ActiveRecord::Base.connection.pool.db_config.name
should returnmain
now.
[1] Here's my config for example:
development:
main:
adapter: postgresql
encoding: unicode
database: gitlabhq_development
host: /Users/tkuah/code/ee-gdk/postgresql
port: 5432
pool: 10
prepared_statements: false
variables:
statement_timeout: 120s
test: &test
main:
adapter: postgresql
encoding: unicode
database: gitlabhq_test
host: /Users/tkuah/code/ee-gdk/postgresql
port: 5432
pool: 10
prepared_statements: false
variables:
statement_timeout: 120s
Does this MR meet the acceptance criteria?
Conformity
-
I have included changelog trailers, or none are needed. (Does this MR need a changelog?) -
I have added/updated documentation, or it's not needed. (Is documentation required?) -
I have properly separated EE content from FOSS, or this MR is FOSS only. (Where should EE code go?) -
I have added information for database reviewers in the MR description, or it's not needed. (Does this MR have database related changes?) -
I have self-reviewed this MR per code review guidelines. -
This MR does not harm performance, or I have asked a reviewer to help assess the performance impact. (Merge request performance guidelines) -
I have followed the style guides. -
This change is backwards compatible across updates, or this does not apply.
Availability and Testing
-
I have added/updated tests following the Testing Guide, or it's not needed. (Consider all test levels. See the Test Planning Process.) -
I have informed the Infrastructure department of a default or new setting change per definition of done, or it's not needed.
Edited by Thong Kuah