Skip to content

Commit d4d4b1a

Browse files
Fixed issue with migration script
1 parent 327b9c9 commit d4d4b1a

File tree

4 files changed

+27
-11
lines changed

4 files changed

+27
-11
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 2.1.1
2+
3+
* Fixed issue with not found migration script (for v2.X)
4+
15
# 2.1.0
26

37
* Implemented auto-id-generation for UUIDs.

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/EclipseStoreMigrator.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,33 +20,33 @@
2020
import org.eclipse.store.storage.embedded.types.EmbeddedStorageManager;
2121

2222
import software.xdev.micromigration.eclipsestore.MigrationManager;
23-
import software.xdev.micromigration.migrater.reflection.ReflectiveMigrater;
23+
import software.xdev.micromigration.migrater.ExplicitMigrater;
2424
import software.xdev.micromigration.scripts.VersionAgnosticMigrationScript;
2525
import software.xdev.micromigration.version.MigrationVersion;
2626
import software.xdev.spring.data.eclipse.store.repository.root.VersionedRoot;
27-
import software.xdev.spring.data.eclipse.store.repository.root.update.scripts.v2_0_0_InitalizeVersioning;
27+
import software.xdev.spring.data.eclipse.store.repository.root.update.scripts.v2_0_0_InitializeVersioning;
2828

2929

3030
public final class EclipseStoreMigrator
3131
{
32-
public static final Class<?> FIRST_UPDATE_SCRIPT = v2_0_0_InitalizeVersioning.class;
32+
public static final VersionAgnosticMigrationScript<?, ?>[] SCRIPTS =
33+
new VersionAgnosticMigrationScript[]{
34+
new v2_0_0_InitializeVersioning()
35+
};
3336

3437
private EclipseStoreMigrator()
3538
{
3639
}
3740

3841
public static void migrate(final VersionedRoot versionedRoot, final EmbeddedStorageManager storageManager)
3942
{
40-
final ReflectiveMigrater migrater =
41-
new ReflectiveMigrater(FIRST_UPDATE_SCRIPT.getPackageName());
42-
new MigrationManager(versionedRoot, migrater, storageManager)
43-
.migrate(versionedRoot);
43+
final ExplicitMigrater migrater = new ExplicitMigrater(SCRIPTS);
44+
new MigrationManager(versionedRoot, migrater, storageManager).migrate(versionedRoot);
4445
}
4546

4647
public static MigrationVersion getLatestVersion()
4748
{
48-
final ReflectiveMigrater migrater =
49-
new ReflectiveMigrater(FIRST_UPDATE_SCRIPT.getPackageName());
49+
final ExplicitMigrater migrater = new ExplicitMigrater(SCRIPTS);
5050
final TreeSet<VersionAgnosticMigrationScript<?, ?>> sortedScripts = migrater.getSortedScripts();
5151
return sortedScripts.isEmpty() ? new MigrationVersion(0, 0, 0) : sortedScripts.last().getTargetVersion();
5252
}

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/root/update/scripts/LoggingUpdateScript.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
import software.xdev.spring.data.eclipse.store.repository.root.VersionedRoot;
2525

2626

27+
/**
28+
* <b>All migration scripts must be added to
29+
* {@link software.xdev.spring.data.eclipse.store.repository.EclipseStoreMigrator#SCRIPTS}!</b>
30+
*/
2731
public abstract class LoggingUpdateScript
2832
extends ReflectiveVersionMigrationScript<VersionedRoot, MigrationEmbeddedStorageManager>
2933
{
Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,21 @@
2121
import software.xdev.micromigration.eclipsestore.MigrationEmbeddedStorageManager;
2222
import software.xdev.micromigration.scripts.Context;
2323
import software.xdev.spring.data.eclipse.store.repository.root.EntityData;
24+
import software.xdev.spring.data.eclipse.store.repository.root.RootDataV2;
2425
import software.xdev.spring.data.eclipse.store.repository.root.VersionedRoot;
2526

2627

28+
/**
29+
* Copies elements from the old Root({@link software.xdev.spring.data.eclipse.store.repository.Root} to the newer
30+
* version of Root({@link RootDataV2}).
31+
* <p>
32+
* <b>All migration scripts must be added to
33+
* {@link software.xdev.spring.data.eclipse.store.repository.EclipseStoreMigrator#SCRIPTS}!</b>
34+
*/
2735
@SuppressWarnings("checkstyle:TypeName")
28-
public class v2_0_0_InitalizeVersioning extends LoggingUpdateScript
36+
public class v2_0_0_InitializeVersioning extends LoggingUpdateScript
2937
{
30-
private static final Logger LOG = LoggerFactory.getLogger(v2_0_0_InitalizeVersioning.class);
38+
private static final Logger LOG = LoggerFactory.getLogger(v2_0_0_InitializeVersioning.class);
3139

3240
@Override
3341
public void loggedMigrate(final Context<VersionedRoot, MigrationEmbeddedStorageManager> context)

0 commit comments

Comments
 (0)