3 KiB
3 KiB
Add a description of your merge request here. Merge requests without an adequate description will not be reviewed until one is added.
Database checklist
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
- Added tests for the migration in
spec/migrations
if necessary (e.g. when migrating data)
When adding or modifying queries to improve performance:
- 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
When adding foreign keys to existing tables:
- Included a migration to remove orphaned rows in the source table before adding the foreign key
- Removed any instances of
dependent: ...
that may no longer be necessary
When adding tables:
- Ordered columns based on the 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
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
General checklist
- Changelog entry added, if necessary
- Documentation created/updated
- API support added
- Tests added for this feature/bug
- Conforms to the code review guidelines
- Has been reviewed by a Backend maintainer
- Has been reviewed by a Database specialist
- Conforms to the merge request performance guidelines
- Conforms to the style guides
- If you have multiple commits, please combine them into a few logically organized commits by squashing them
- Internationalization required/considered
- For a paid feature, have we considered GitLab.com plans, how it works for groups, and is there a design for promoting it to users who aren't on the correct plan?
- End-to-end tests pass (
package-and-qa
manual pipeline job)
/label ~database