public ChangeRerunnable(ChangeKey changeKey, String hash, String content) { this.setChangeKey(changeKey); this.setContentHash(hash); this.setContent(content); } }
@Test public void testSimpleViews() { Change view1Dep = new ChangeRerunnable(viewChangeType(), "schema", "viewA", "hash", CONTENT); Change view1Src = new ChangeRerunnable(viewChangeType(), "schema", "viewA", "hashdiff", CONTENT); Change view2Dep = new ChangeRerunnable(viewChangeType(), "schema", "viewB", "samehash", CONTENT); Change view2Src = new ChangeRerunnable(viewChangeType(), "schema", "viewB", "samehash", CONTENT); Change view3Dep = new ChangeRerunnable(viewChangeType(), "schema", "viewC", "deletion", CONTENT); Change view4Src = new ChangeRerunnable(viewChangeType(), "schema", "viewD", "addition", CONTENT); MutableList<Change> allSourceChanges = Lists.mutable.with( view1Src, view2Src, view4Src ); ListIterable<ChangeCommand> changeset = cmdCalc.calculateCommands(viewChangeType(), Lists.mutable.of( new ChangePair(view1Src, view1Dep) , new ChangePair(view2Src, view2Dep) , new ChangePair(null, view3Dep) , new ChangePair(view4Src, null) ), allSourceChanges, false); assertEquals(3, changeset.size()); Verify.assertAnySatisfy(changeset, assertValue(DeployChangeCommand.class, view1Src)); Verify.assertAnySatisfy(changeset, assertValue(DeployChangeCommand.class, view4Src)); Verify.assertAnySatisfy(changeset, assertValue(DropObjectChangeCommand.class, view3Dep)); }
@Override public Change valueOf(DbCleanCommand cleanCommand) { MutableCollection<Schema> schemas = physicalSchemaToSchemaMap.get(cleanCommand.getPhysicalSchema()); if (cleanCommand.getObjectType().isRerunnable()) { ChangeRerunnable change = new ChangeRerunnable(cleanCommand.getObjectType() , schemas.getFirst().getName() , cleanCommand.getObjectName() , "hash" , "n/a" ); return change; } else { ChangeIncremental dbChangeIncremental = new ChangeIncremental(cleanCommand.getObjectType() , schemas.getFirst().getName() , cleanCommand.getObjectName() , "change" + this.changeIndex++ , 0 , "hash" , cleanCommand.getSqlStatement() ); dbChangeIncremental.setDrop(true); dbChangeIncremental.setManuallyCodedDrop(cleanCommand.getObjectType().getName().equals(ChangeType.FOREIGN_KEY_STR)); dbChangeIncremental.setForceDropForEnvCleaning(true); return dbChangeIncremental; } } });
public ChangeRerunnable(ChangeKey changeKey, String hash, String content) { this.setChangeKey(changeKey); this.setContentHash(hash); this.setContent(content); } }
@Override public Change valueOf(DbCleanCommand cleanCommand) { MutableCollection<Schema> schemas = physicalSchemaToSchemaMap.get(cleanCommand.getPhysicalSchema()); if (cleanCommand.getObjectType().isRerunnable()) { ChangeRerunnable change = new ChangeRerunnable(cleanCommand.getObjectType() , schemas.getFirst().getName() , cleanCommand.getObjectName() , "hash" , "n/a" ); return change; } else { ChangeIncremental dbChangeIncremental = new ChangeIncremental(cleanCommand.getObjectType() , schemas.getFirst().getName() , cleanCommand.getObjectName() , "change" + this.changeIndex++ , 0 , "hash" , cleanCommand.getSqlStatement() ); dbChangeIncremental.setDrop(true); dbChangeIncremental.setManuallyCodedDrop(cleanCommand.getObjectType().getName().equals(ChangeType.FOREIGN_KEY_STR)); dbChangeIncremental.setForceDropForEnvCleaning(true); return dbChangeIncremental; } } });