Test database migration classes with psalm in CI
When referencing foreign objects in DB migration classes that only got introduced in the same version as the DB migration itself, this breaks updates via web installer. Background is that the web installer replaces the app files and runs the migration within the same PHP process. So the old version of the class with the referenced object is still loaded.
We already ran into this issue twice, see #427 (closed).
On way to test this scenario in CI would be the following:
- Checkout source branch of the PR
- Copy
lib/Migrations
from the target branch - Run psalm
Psalm should fail if we reference objects/classes in the migration classes that only exist in the new version of the ap.