major
minor
major
minor
minor
#26379
Replay migration fails because DependencyInjection does not take place
For example, the tl:EventRewriter components used for migration receive the log or the tl:MORepository via dependency injection. Unfortunately, however, the "inject" operation is not performed for them because they are created at the wrong time with the wrong tl:InstantiationContext. They should be created in ` DataMigration.createInsertSQL `. That’s where the `tl:GuiceContext` is created and `inject ` is called. Instead, however, they are indirectly contained as `tl:InstanceFormat` in `com.top_logic.knowledge.service.migration.MigrationConfig `. And this is read into ` ImportDataDialog.dumpUploaded(Object)` via `MigrationUtil.buildMigration `. The incorrect `tl:InstantiationContext` is created here: `MigrationUtil.readMigrationConfig`
When implementing this ticket, it is important to note that there are two invocation paths for the migration: one via the JSP and the other when starting the application. See the calls to the tl:DataMigration constructor for more details.
Furthermore, regression tests should, of course, be introduced to test dependency injection in both cases.
Test
- test-app-rewrite from #26798