database.yml `ci:` section

Posted: 2023-02-22 by Horst Prote | Revision: 1
Format:
2.0
From GitLab 15.9, `database.yml` with only a section: `main:` is deprecated.

In GitLab 15.10 and later, you should have two sections in your `database.yml`, `main:` and `ci:`. The `ci:` connection must be to the same database.

In GitLab 17.0 and later, you must have the two `main:` and `ci:` sections in your `database.yml`.

NOTE: On my test installation the upgrade and database.yml change worked

    flawlessly just with the usual restart of gitlab but it's recommended
    to do it the safe way this time, since a misconfiguration in the
    database.yml file may irreversibly damage the database:
    1. Stop gitlab:
         systemctl stop gitlab.target
    2. Backup the database. Note that gitaly needs to be running:
         systemctl start gitlab-gitaly.service
       Then do the backup e. g. by
         bundle exec rake gitlab:backup:create RAILS_ENV=production
       or just run your normal database backup timer/cron-job.
         systemctl stop gitlab-gitaly.service
    3. emerge -u www-apps/gitlab
    4. Update /etc/gitlab/database.yml
       Just uncomment the `ci:` section and set `database:`, `username:`,
       `password:`, `host:` to the _same_ values as in your `main:` section.
    5. Start gitlab and then do the
       emerge --config "=www-apps/gitlab-15.9.0"