True migration testing
Summary
For properly testing whether a migration works, we need a true migration difference test.
To do this, I propose to implement a test that does the following:
- Checkout development, run a test that sets up a filled database as much as possible.
- Checkout the current commit, run a smoketest using the same database as in step 1 to see whether the migration does not fail during start.
Reasoning
Currently, changes that do not have data associated to them do not act the same changes that do. Often, a migration could turn out to be incorrect when there is actual data in the columns they require.