`table` helper should automatically create in correct database (used in background_migration|migration specs)
The table
helper for background_migration specs is creating in wrong database.
table(:ci_pipelines).create!(status: "success")
(byebug) ApplicationRecord.connection.select_one('SELECT COUNT(1) from ci_pipelines')
{"count"=>1}
(byebug) Ci::ApplicationRecord.connection.select_one('SELECT COUNT(1) from ci_pipelines')
{"count"=>0}
What's expected
The ci_pipeline
row is created in the ci
database instead
Proposal
- Make all new BG migration specs create rows in the correct database.
- Multiple database case - query lib/gitlab/database/gitlab_schemas.yml, extract the database so we create the row for the table in the right database
- Single database case, just use
:main
- For old BG migration specs, prior to a certain
metadata[:schema]
create rows in themain
database for now.
/cc @dfrazao-gitlab
Edited by Thong Kuah