use of org.flywaydb.core.api.resolver.ResolvedMigration in project flyway by flyway.
the class DbRepair method repairChecksumsAndDescriptions.
public void repairChecksumsAndDescriptions() {
migrationInfoService.refresh();
for (MigrationInfo migrationInfo : migrationInfoService.all()) {
MigrationInfoImpl migrationInfoImpl = (MigrationInfoImpl) migrationInfo;
ResolvedMigration resolved = migrationInfoImpl.getResolvedMigration();
AppliedMigration applied = migrationInfoImpl.getAppliedMigration();
if (resolved != null && applied != null && resolved.getVersion() != null) {
if (!ObjectUtils.nullSafeEquals(resolved.getChecksum(), applied.getChecksum()) || !ObjectUtils.nullSafeEquals(resolved.getDescription(), applied.getDescription())) {
metaDataTable.update(migrationInfoImpl.getVersion(), resolved.getDescription(), resolved.getChecksum());
}
}
}
}
use of org.flywaydb.core.api.resolver.ResolvedMigration in project flyway by flyway.
the class MigrationTestCase method assertChecksum.
/**
* Compares the DB checksum to the classpath checksum of this migration.
*
* @param migrationInfo
* The migration to check.
*/
protected void assertChecksum(MigrationInfo migrationInfo) {
SqlMigrationResolver sqlMigrationResolver = new SqlMigrationResolver(dbSupport, new Scanner(Thread.currentThread().getContextClassLoader()), new Location(getBasedir()), PlaceholderReplacer.NO_PLACEHOLDERS, FlywayConfigurationForTests.create());
List<ResolvedMigration> migrations = sqlMigrationResolver.resolveMigrations();
for (ResolvedMigration migration : migrations) {
if (migration.getVersion().toString().equals(migrationInfo.getVersion().toString())) {
assertEquals("Wrong checksum for " + migrationInfo.getScript(), migration.getChecksum(), migrationInfo.getChecksum());
}
}
}
use of org.flywaydb.core.api.resolver.ResolvedMigration in project flyway by flyway.
the class SqlMigrationResolverMediumTest method resolveMigrations.
@Test
public void resolveMigrations() throws Exception {
@SuppressWarnings("ConstantConditions") String path = URLDecoder.decode(getClass().getClassLoader().getResource("migration/subdir").getPath(), "UTF-8");
SqlMigrationResolver sqlMigrationResolver = new SqlMigrationResolver(null, new Scanner(Thread.currentThread().getContextClassLoader()), new Location("filesystem:" + new File(path).getPath()), PlaceholderReplacer.NO_PLACEHOLDERS, FlywayConfigurationForTests.create());
Collection<ResolvedMigration> migrations = sqlMigrationResolver.resolveMigrations();
assertEquals(3, migrations.size());
List<ResolvedMigration> migrationList = new ArrayList<ResolvedMigration>(migrations);
assertEquals("1", migrationList.get(0).getVersion().toString());
assertEquals("1.1", migrationList.get(1).getVersion().toString());
assertEquals("2.0", migrationList.get(2).getVersion().toString());
assertEquals("dir1/V1__First.sql", migrationList.get(0).getScript());
assertEquals("V1_1__Populate_table.sql", migrationList.get(1).getScript());
assertEquals("dir2/V2_0__Add_foreign_key.sql", migrationList.get(2).getScript());
}
use of org.flywaydb.core.api.resolver.ResolvedMigration in project flyway by flyway.
the class SqlMigrationResolverSmallTest method resolveMigrations.
@Test
public void resolveMigrations() {
SqlMigrationResolver sqlMigrationResolver = new SqlMigrationResolver(null, scanner, new Location("migration/subdir"), PlaceholderReplacer.NO_PLACEHOLDERS, FlywayConfigurationForTests.create());
Collection<ResolvedMigration> migrations = sqlMigrationResolver.resolveMigrations();
assertEquals(3, migrations.size());
List<ResolvedMigration> migrationList = new ArrayList<ResolvedMigration>(migrations);
assertEquals("1", migrationList.get(0).getVersion().toString());
assertEquals("1.1", migrationList.get(1).getVersion().toString());
assertEquals("2.0", migrationList.get(2).getVersion().toString());
assertEquals("dir1/V1__First.sql", migrationList.get(0).getScript());
assertEquals("V1_1__Populate_table.sql", migrationList.get(1).getScript());
assertEquals("dir2/V2_0__Add_foreign_key.sql", migrationList.get(2).getScript());
}
use of org.flywaydb.core.api.resolver.ResolvedMigration in project flyway by flyway.
the class JdbcMigrationResolverSmallTest method explicitInfo.
@Test
public void explicitInfo() {
JdbcMigrationResolver jdbcMigrationResolver = new JdbcMigrationResolver(scanner, null, null);
ResolvedMigration migrationInfo = jdbcMigrationResolver.extractMigrationInfo(new Version3dot5());
assertEquals("3.5", migrationInfo.getVersion().toString());
assertEquals("Three Dot Five", migrationInfo.getDescription());
assertEquals(35, migrationInfo.getChecksum().intValue());
}
Aggregations