@Test public void shouldNotAccidentallyDeleteStoreFilesIfNoMigrationWasRequired() throws IOException { // given CountsMigrator migrator = new CountsMigrator( fs, null, Config.defaults() ); DatabaseLayout sourceLayout = directory.databaseLayout(); File countsStoreFileA = sourceLayout.countStoreA(); File countsStoreFileB = sourceLayout.countStoreB(); fs.create( countsStoreFileA ); fs.create( countsStoreFileB ); DatabaseLayout migrationLayout = directory.databaseLayout( "migration" ); String versionToMigrateFrom = StoreVersion.STANDARD_V3_2.versionString(); String versionToMigrateTo = StoreVersion.STANDARD_V3_4.versionString(); migrator.migrate( sourceLayout, migrationLayout, SilentProgressReporter.INSTANCE, versionToMigrateFrom, versionToMigrateTo ); assertEquals( "Invalid test assumption: There should not have been migration for those versions", 0, migrationLayout.listDatabaseFiles( ( dir, name ) -> true ).length ); // when migrator.moveMigratedFiles( migrationLayout, sourceLayout, versionToMigrateFrom, versionToMigrateTo ); // then assertTrue( fs.fileExists( countsStoreFileA ) ); assertTrue( fs.fileExists( countsStoreFileB ) ); } }
migrator.moveMigratedFiles( migrationLayout, databaseLayout, versionToMigrateFrom, upgradableDatabase.currentVersion() ); countsMigrator.moveMigratedFiles( migrationLayout, databaseLayout, versionToMigrateFrom, upgradableDatabase.currentVersion() );
migrator.moveMigratedFiles( migrationLayout, databaseLayout, versionToMigrateFrom, upgradableDatabase.currentVersion() ); countsMigrator.moveMigratedFiles( migrationLayout, databaseLayout, versionToMigrateFrom, upgradableDatabase.currentVersion() );
migrator.moveMigratedFiles( migrationLayout, databaseLayout, versionToMigrateFrom, upgradableDatabase.currentVersion() ); countsMigrator.moveMigratedFiles( migrationLayout, databaseLayout, versionToMigrateFrom, upgradableDatabase.currentVersion() );