updating the version of flyway-core and changing the callback implementation.
This commit is contained in:
parent
81cc62aac8
commit
28a9519e8e
|
@ -64,7 +64,7 @@
|
|||
</build>
|
||||
|
||||
<properties>
|
||||
<flyway-core.version>5.2.3</flyway-core.version>
|
||||
<flyway-core.version>8.0.0</flyway-core.version>
|
||||
<flyway-maven-plugin.version>8.0.0</flyway-maven-plugin.version>
|
||||
</properties>
|
||||
|
||||
|
|
|
@ -1,33 +1,40 @@
|
|||
package com.baeldung.flywaycallbacks;
|
||||
|
||||
import java.sql.Connection;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.flywaydb.core.api.MigrationInfo;
|
||||
import org.flywaydb.core.api.callback.BaseFlywayCallback;
|
||||
import org.flywaydb.core.api.callback.Callback;
|
||||
import org.flywaydb.core.api.callback.Context;
|
||||
import org.flywaydb.core.api.callback.Event;
|
||||
|
||||
public class ExampleFlywayCallback extends BaseFlywayCallback {
|
||||
public class ExampleFlywayCallback implements Callback {
|
||||
|
||||
private Log log = LogFactory.getLog(getClass());
|
||||
private final Log log = LogFactory.getLog(getClass());
|
||||
|
||||
@Override
|
||||
public void afterEachMigrate(Connection connection, MigrationInfo info) {
|
||||
log.info("> afterEachMigrate");
|
||||
public boolean supports(Event event, Context context) {
|
||||
return event == Event.AFTER_EACH_MIGRATE || event == Event.AFTER_MIGRATE || event == Event.BEFORE_EACH_MIGRATE || event == Event.BEFORE_MIGRATE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterMigrate(Connection connection) {
|
||||
log.info("> afterMigrate");
|
||||
public boolean canHandleInTransaction(Event event, Context context) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeEachMigrate(Connection connection, MigrationInfo info) {
|
||||
log.info("> beforeEachMigrate");
|
||||
public void handle(Event event, Context context) {
|
||||
if (event == Event.AFTER_EACH_MIGRATE) {
|
||||
log.info("> afterEachMigrate");
|
||||
} else if (event == Event.AFTER_MIGRATE) {
|
||||
log.info("> afterMigrate");
|
||||
} else if (event == Event.BEFORE_EACH_MIGRATE) {
|
||||
log.info("> beforeEachMigrate");
|
||||
} else if (event == Event.BEFORE_MIGRATE) {
|
||||
log.info("> beforeMigrate");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeMigrate(Connection connection) {
|
||||
log.info("> beforeMigrate");
|
||||
public String getCallbackName() {
|
||||
return ExampleFlywayCallback.class.getSimpleName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|||
@ContextConfiguration(classes = FlywayCallbackTestConfig.class)
|
||||
public class FlywayApplicationUnitTest {
|
||||
|
||||
private Log log = LogFactory.getLog(getClass());
|
||||
private final Log log = LogFactory.getLog(getClass());
|
||||
|
||||
@Autowired
|
||||
private DataSource dataSource;
|
||||
|
@ -26,43 +26,47 @@ public class FlywayApplicationUnitTest {
|
|||
@Test
|
||||
public void migrateWithNoCallbacks() {
|
||||
logTestBoundary("migrateWithNoCallbacks");
|
||||
Flyway flyway = new Flyway();
|
||||
flyway.setDataSource(dataSource);
|
||||
flyway.setLocations("db/migration");
|
||||
flyway.migrate();
|
||||
Flyway flyway = Flyway.configure()
|
||||
.dataSource(dataSource)
|
||||
.locations("db/migration")
|
||||
.load();
|
||||
flyway.migrate();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void migrateWithJavaCallbacks() {
|
||||
logTestBoundary("migrateWithJavaCallbacks");
|
||||
Flyway flyway = new Flyway();
|
||||
flyway.setDataSource(dataSource);
|
||||
flyway.setLocations("db/migration");
|
||||
flyway.setCallbacks(new ExampleFlywayCallback());
|
||||
Flyway flyway = Flyway.configure()
|
||||
.dataSource(dataSource)
|
||||
.locations("db/migration")
|
||||
.callbacks(new ExampleFlywayCallback())
|
||||
.load();
|
||||
flyway.migrate();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void migrateWithSqlCallbacks() {
|
||||
logTestBoundary("migrateWithSqlCallbacks");
|
||||
Flyway flyway = new Flyway();
|
||||
flyway.setDataSource(dataSource);
|
||||
flyway.setLocations("db/migration", "db/callbacks");
|
||||
flyway.migrate();
|
||||
Flyway flyway = Flyway.configure()
|
||||
.dataSource(dataSource)
|
||||
.locations("db/migration", "db/callbacks")
|
||||
.load();
|
||||
flyway.migrate();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void migrateWithSqlAndJavaCallbacks() {
|
||||
logTestBoundary("migrateWithSqlAndJavaCallbacks");
|
||||
Flyway flyway = new Flyway();
|
||||
flyway.setDataSource(dataSource);
|
||||
flyway.setLocations("db/migration", "db/callbacks");
|
||||
flyway.setCallbacks(new ExampleFlywayCallback());
|
||||
flyway.migrate();
|
||||
Flyway flyway = Flyway.configure()
|
||||
.dataSource(dataSource)
|
||||
.locations("db/migration", "db/callbacks")
|
||||
.callbacks(new ExampleFlywayCallback())
|
||||
.load();
|
||||
flyway.migrate();
|
||||
}
|
||||
|
||||
private void logTestBoundary(String testName) {
|
||||
System.out.println("\n");
|
||||
log.info("> " + testName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue