diff --git a/.gitlab/issue_templates/Database Reviewer.md b/.gitlab/issue_templates/Database Reviewer.md new file mode 100644 index 00000000000..a5e7e42fd14 --- /dev/null +++ b/.gitlab/issue_templates/Database Reviewer.md @@ -0,0 +1,32 @@ +#### Database Reviewer Checklist + +Thank you for becoming a ~database reviewer! Please work on the list below to complete your setup. For any question, reach out to #database an mention @abrandl. + +- [ ] Change issue title to include your name: `Database Reviewer Checklist: Your Name` +- [ ] Review general [code review guide](https://docs.gitlab.com/ee/development/code_review.html) +- [ ] Review [database review documentation](https://about.gitlab.com/handbook/engineering/workflow/code-review/database.html) +- [ ] Familiarize with [migration helpers](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/gitlab/database/migration_helpers.rb) and review usage in existing migrations +- [ ] Read [database migration style guide](https://docs.gitlab.com/ee/development/migration_style_guide.html) +- [ ] Familiarize with best practices in [database guides](https://docs.gitlab.com/ee/development/#database-guides) +- [ ] Watch [Optimising Rails Database Queries: Episode 1](https://www.youtube.com/watch?v=79GurlaxhsI) +- [ ] Read [Understanding EXPLAIN plans](https://docs.gitlab.com/ee/development/understanding_explain_plans.html) +- [ ] Review [database best practices](https://docs.gitlab.com/ee/development/#best-practices) +- [ ] Review how we use [database instances restored from a backup](https://ops.gitlab.net/gitlab-com/gl-infra/gitlab-restore/postgres-gprd) for testing and make sure you're set up to execute pipelines (check [README.md](https://ops.gitlab.net/gitlab-com/gl-infra/gitlab-restore/postgres-gprd/blob/master/README.md) and reach out to @abrandl since this is currently subject to being changed) +- [ ] Get yourself added to [@gl-database](https://gitlab.com/groups/gl-database/-/group_members) group and respond to @-mentions to the group (reach out to any maintainer on the group to get added). You will get TODOs on gitlab.com for group mentions. +- [ ] Make sure you have proper access to at least a read-only replica in staging and production +- [ ] Indicate in `data/team.yml` your role as a database reviewer ([example MR](https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/19600/diffs)). Assign MR to your manager for merge. +- [ ] Send one MR to improve the [review documentation](https://about.gitlab.com/handbook/engineering/workflow/code-review/database.html) or the [issue template](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/.gitlab/issue_templates/Database%20Reviewer.md) + +Note that *approving and accepting* merge requests is *restricted* to +Database Maintainers only. As a reviewer, pass the MR to a maintainer +for approval. + +You're all set! Watch out for TODOs on GitLab.com. + +###### Where to go for questions? + +Reach out to `#database` on Slack and mention @abrandl for any questions. + +cc @abrandl + +/label ~meta ~database