Move validations out of the models
Draft
TL;DR
Most of the validations should not be in models but in services/form objects instead.
Benefits
- We reduce the query counts in our test suite => we reduce our test suite duration
- We reduce our coupling between business logic and database layer logic (currently everything is in the model)
Cons
This is not "the Rails way", but I believe GitLab is now big-enough to decide of its own way!