Cleanup the migration service
Current status
Currently, the migration service has a very mixed and interweaved use of needMigration, getProvider and alike such that it is extremely hard to understand what the migration is doing at one point in time.
Proposed change
- Do model loading only at the beginning of the startup phase such that all services are initialized then.
- Fix the migration service to use the same approaches as other services, e.g., do not iterate over the same migrationNeeded method endlessly in case of errors etc.
(from redmine: issue id 3806, created on 2019-08-27, closed on 2019-09-26)