@Test public void testCustomMigrationExistingField() { tgtSchema = new DataObjectSchema(CustomMigrationExistingField.class); tgtSchema.setType(tgtSchema.getType()); tgtSchemas.addSchema(tgtSchema); diff = new DbSchemasDiff(srcSchemas, tgtSchemas); Assert.assertTrue(diff.isUpgradable()); Assert.assertFalse(diff.isChanged()); }
@Test public void testCustomMigrationPreUpgrade() { srcSchemas.setSchemas(new ArrayList<DbSchema>()); tgtSchemas.setSchemas(new ArrayList<DbSchema>()); srcSchema = new DataObjectSchema(CustomMigrationExistingField.class); srcSchema.setType(srcSchema.getType()); srcSchemas.addSchema(srcSchema); tgtSchema = new DataObjectSchema(CustomMigrationExistingAndNewField.class); tgtSchema.setType(tgtSchema.getType()); tgtSchemas.addSchema(tgtSchema); diff = new DbSchemasDiff(srcSchemas, tgtSchemas); Assert.assertTrue(diff.isUpgradable()); Assert.assertTrue(diff.isChanged()); }
@Test public void testMoveFieldToBaseClass() { srcSchemas.setSchemas(new ArrayList<DbSchema>()); tgtSchemas.setSchemas(new ArrayList<DbSchema>()); srcSchema = new DataObjectSchema(ChildClassUTBefore.class); srcSchema.setType(srcSchema.getType()); srcSchemas.addSchema(srcSchema); tgtSchema = new DataObjectSchema(ChildClassUTAfter1.class); tgtSchema.setType(tgtSchema.getType()); tgtSchemas.addSchema(tgtSchema); tgtSchema = new DataObjectSchema(ChildClassUTAfter2.class); tgtSchema.setType(tgtSchema.getType()); tgtSchemas.addSchema(tgtSchema); diff = new DbSchemasDiff(srcSchemas, tgtSchemas); Assert.assertTrue(diff.isUpgradable()); Assert.assertTrue(diff.isChanged()); }