2017-11-23 13:14:31 +00:00
Add a description of your merge request here. Merge requests without an adequate
description will not be reviewed until one is added.
2017-08-09 15:00:35 +00:00
2018-06-01 19:44:07 +00:00
## Database checklist
2017-08-09 15:00:35 +00:00
When adding migrations:
- [ ] Updated `db/schema.rb`
- [ ] Added a `down` method so the migration can be reverted
- [ ] Added the output of the migration(s) to the MR body
2017-11-23 13:14:31 +00:00
- [ ] Added tests for the migration in `spec/migrations` if necessary (e.g. when migrating data)
2017-08-09 15:00:35 +00:00
When adding or modifying queries to improve performance:
2017-11-23 13:14:31 +00:00
- [ ] Included data that shows the performance improvement, preferably in the form of a benchmark
- [ ] Included the output of `EXPLAIN (ANALYZE, BUFFERS)` of the relevant queries
2017-08-09 15:00:35 +00:00
When adding foreign keys to existing tables:
2017-11-23 13:14:31 +00:00
- [ ] Included a migration to remove orphaned rows in the source table before adding the foreign key
2017-08-09 15:00:35 +00:00
- [ ] Removed any instances of `dependent: ...` that may no longer be necessary
When adding tables:
2017-11-23 13:14:31 +00:00
- [ ] Ordered columns based on the [Ordering Table Columns ](https://docs.gitlab.com/ee/development/ordering_table_columns.html#ordering-table-columns ) guidelines
- [ ] Added foreign keys to any columns pointing to data in other tables
- [ ] Added indexes for fields that are used in statements such as WHERE, ORDER BY, GROUP BY, and JOINs
2017-08-09 15:00:35 +00:00
When removing columns, tables, indexes or other structures:
- [ ] Removed these in a post-deployment migration
- [ ] Made sure the application no longer uses (or ignores) these structures
2018-06-01 19:44:07 +00:00
## General checklist
2017-08-09 15:00:35 +00:00
2018-01-24 12:30:49 +00:00
- [ ] [Changelog entry ](https://docs.gitlab.com/ee/development/changelog.html ) added, if necessary
- [ ] [Documentation created/updated ](https://docs.gitlab.com/ee/development/doc_styleguide.html )
2017-08-09 15:00:35 +00:00
- [ ] API support added
- [ ] Tests added for this feature/bug
2018-05-11 19:30:36 +00:00
- Conform by the [code review guidelines ](https://docs.gitlab.com/ee/development/code_review.html )
- [ ] Has been reviewed by a Backend maintainer
- [ ] Has been reviewed by a Database specialist
2018-01-24 12:30:49 +00:00
- [ ] Conform by the [merge request performance guides ](https://docs.gitlab.com/ee/development/merge_request_performance_guidelines.html )
- [ ] Conform by the [style guides ](https://gitlab.com/gitlab-org/gitlab-ee/blob/master/CONTRIBUTING.md#style-guides )
2018-05-15 08:55:47 +00:00
- [ ] If you have multiple commits, please combine them into a few logically organized commits by [squashing them ](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits )
2018-01-24 12:30:49 +00:00
- [ ] Internationalization required/considered
- [ ] If paid feature, have we considered GitLab.com plan and how it works for groups and is there a design for promoting it to users who aren't on the correct plan
2018-04-16 17:45:24 +00:00
- [ ] End-to-end tests pass (`package-and-qa` manual pipeline job)
2018-05-15 08:55:47 +00:00
/label ~database