Draft: Investigate Rails 6.0 and Rails 6.1 native database sharding
What does this MR do?
Investigation MR for #328516 (closed).
Based off tk-bump-rails-to-6-1
which is a static copy of id-bump-rails-to-6-1
To avoid namespace ID clashes, run this in the gitlabhq_development_shard_one
DB:
ALTER SEQUENCE users_id_seq RESTART WITH 1000;
ALTER SEQUENCE namespaces_id_seq RESTART WITH 1000;
ALTER SEQUENCE projects_id_seq RESTART WITH 1000;
ALTER SEQUENCE issues_id_seq RESTART WITH 1000;
I used this config/database.yml
development:
primary:
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
primary_replica:
adapter: postgresql
encoding: unicode
database: gitlabhq_development
host: /Users/tkuah/code/ee-gdk/postgresql-replica
port: 5432
pool: 10
prepared_statements: false
variables:
statement_timeout: 120s
replica: true
shard_one:
adapter: postgresql
encoding: unicode
database: gitlabhq_development_shard_one
host: /Users/tkuah/code/ee-gdk/postgresql
port: 5432
pool: 10
prepared_statements: false
variables:
statement_timeout: 120s
test: &test
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
Create a route for the lost-and-found
Group.
Route.create!(source_id: 2, source_type: 'Namespace', path: 'lost-and-found', name: 'lost-and-found')
Edited by Thong Kuah