使用Liquibase进行PostgreSQL数据库版本控制

时间:2019-06-27 08:07:31

标签: postgresql java-ee liquibase liquibase-sql

我正在尝试使用Liquibase 3.6版来维护数据库版本更改。当我需要执行单个文件更改时,我能够执行数据库版本更改。

我已经使用下面的代码成功执行了版本更改,但是我的意图是从文件夹而不是单个文件动态执行更改日志。我仅将Java用于Liquibase的所有配置

@Startup
@Singleton
@TransactionManagement(TransactionManagementType.BEAN)
public class InitializerBean {
    @Resource(mappedName = "java:/M2M_RESOURCES")
    private DataSource ds;
    @PostConstruct
    protected void bootstrap() {
        ResourceAccessor resourceAccessor = new ClassLoaderResourceAccessor(getClass().getClassLoader());
        try (Connection connection = ds.getConnection()) {
            JdbcConnection jdbcConnection = new JdbcConnection(connection);
            Database db = DatabaseFactory.getInstance().findCorrectDatabaseImplementation(jdbcConnection);
            Liquibase liquiBase = new Liquibase("data/liquibase/", resourceAccessor, db);
            liquiBase.update("Development");
        } catch (SQLException | LiquibaseException e) {
        }
    }
}

当Liquibase类的第一个参数是单个文件时,liquibase能够执行更改,但是当我打算执行单个文件夹的所有文件时,则无法跟踪和执行更改。

我正在使用JDK 1.8,data / liquibase /中的文件是dbChangelog.sql和dbChangelog_2.sq。所有这些代码作为耳朵存档的一部分部署在Wildfly 10上

0 个答案:

没有答案