package ameba.db.migration.flyway;
import ameba.db.migration.models.ScriptInfo;
import org.flywaydb.core.api.resolver.MigrationExecutor;
import org.flywaydb.core.internal.dbsupport.DbSupportFactory;
import org.flywaydb.core.internal.dbsupport.JdbcTemplate;
import org.flywaydb.core.internal.dbsupport.SqlScript;
import java.sql.Connection;
/**
* <p>SqlMigrationExecutor class.</p>
*
* @author icode
*
*/
public class SqlMigrationExecutor implements MigrationExecutor {
private final ScriptInfo info;
/**
* <p>Constructor for SqlMigrationExecutor.</p>
*
* @param info a {@link ameba.db.migration.models.ScriptInfo} object.
*/
public SqlMigrationExecutor(ScriptInfo info) {
this.info = info;
}
/**
* {@inheritDoc}
*/
public void execute(Connection connection) {
SqlScript sqlScript = new SqlScript(info.getApplyDdl(), DbSupportFactory.createDbSupport(connection, true));
sqlScript.execute(new JdbcTemplate(connection, 0));
}
/**
* <p>executeInTransaction.</p>
*
* @return a boolean.
*/
public boolean executeInTransaction() {
return true;
}
}