当前位置: 首页>>代码示例>>Java>>正文


Java CloseableLiquibase类代码示例

本文整理汇总了Java中io.dropwizard.migrations.CloseableLiquibase的典型用法代码示例。如果您正苦于以下问题:Java CloseableLiquibase类的具体用法?Java CloseableLiquibase怎么用?Java CloseableLiquibase使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


CloseableLiquibase类属于io.dropwizard.migrations包,在下文中一共展示了CloseableLiquibase类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: run

import io.dropwizard.migrations.CloseableLiquibase; //导入依赖的package包/类
@Override
protected void run(Bootstrap<T> bootstrap, Namespace namespace, T configuration) throws Exception {
    // The existing database with migrations managed by Liquibase.
    DataSourceFactory outdatedDb = configuration.getDatabaseConfig();

    try (CloseableLiquibase outdatedLiquibase = createLiquibase(outdatedDb)) {
        // A temporary database that starts out empty and then gets the autogenerated Ebean table definitions applied.
        DataSourceFactory freshDb = EbeanConfigUtils.clone(outdatedDb);
        String url = outdatedDb.getUrl();
        freshDb.setUrl(url.substring(0, url.lastIndexOf("/")) + "/migrationdiff");

        // Creating the Ebean server makes it apply its table definitions to the database immediately.
        ServerConfig serverConfig = EbeanConfigUtils.createServerConfig(freshDb);
        serverConfig.setDdlGenerate(true);
        serverConfig.setDdlRun(true);
        EbeanServer ebeanServer = EbeanServerFactory.create(serverConfig);

        try (CloseableLiquibase freshLiquibase = createLiquibase(freshDb)) {
            // Create and print the differences between the two databases, i.e. a migration that should be applied to update to the newest Ebean definitions.
            DiffResult diff = outdatedLiquibase.diff(freshLiquibase.getDatabase(), outdatedLiquibase.getDatabase(), CompareControl.STANDARD);
            DiffToChangeLog diffToChangeLog = new DiffToChangeLog(diff, new DiffOutputControl(false, false, true));
            diffToChangeLog.print(System.out);
        }
    }
}
 
开发者ID:Lugribossk,项目名称:dropwizard-experiment,代码行数:26,代码来源:DbDiffCommand.java

示例2: applyMigrations

import io.dropwizard.migrations.CloseableLiquibase; //导入依赖的package包/类
private static void applyMigrations(DataSourceFactory dbConfig, MetricRegistry metrics) throws Exception {
    Stopwatch migrationsTimer = Stopwatch.createStarted();

    // Borrowed from AbstractLiquibaseCommand.
    DataSourceFactory lbConfig = EbeanConfigUtils.clone(dbConfig);
    lbConfig.setMaxSize(1);
    lbConfig.setMinSize(1);
    lbConfig.setInitialSize(1);

    try (CloseableLiquibase liquibase = new CloseableLiquibase(dbConfig.build(metrics, "liquibase"))) {
        log.info("Checking for database migrations.");
        liquibase.update("");

        migrationsTimer.stop();
        metrics.timer(MetricRegistry.name(EbeanBundle.class, "migrations")).update(migrationsTimer.elapsed(TimeUnit.MILLISECONDS), TimeUnit.MILLISECONDS);
        log.info("Database migrations complete in {} ms.", migrationsTimer.elapsed(TimeUnit.MILLISECONDS));
    } catch (ValidationFailedException e) {
        e.printDescriptiveError(System.err);
        throw e;
    }
}
 
开发者ID:Lugribossk,项目名称:dropwizard-experiment,代码行数:22,代码来源:EbeanBundle.java

示例3: run

import io.dropwizard.migrations.CloseableLiquibase; //导入依赖的package包/类
@Override
public void run(T configuration, Environment environment) throws Exception {
   CloseableLiquibase liquibase
         = new CloseableLiquibaseWithClassPathMigrationsFile(getDataSourceFactory(configuration)
                                                                   .build(environment.metrics(), name()),
                                                             getMigrationsFileName());
   liquibase.update("");
}
 
开发者ID:acciente,项目名称:oacc-example-securetodo,代码行数:9,代码来源:SecureTodoApplication.java

示例4: initialize

import io.dropwizard.migrations.CloseableLiquibase; //导入依赖的package包/类
@Override
public boolean initialize() throws Exception {
    try (CloseableLiquibase liquibase = new CloseableLiquibase(configuration
            .getDataSourceFactory()
            .build(new MetricRegistry(), "liquibase"))) {
        liquibase.update("");
        return true;
    } catch (Exception err) {
        LOGGER.error("Failed to create liquibase", err);
        throw new IllegalStateException(err);
    }
}
 
开发者ID:guggens,项目名称:log-dropwizard-eureka-mongo-sample,代码行数:13,代码来源:JdbiStore.java

示例5: setupH2Test

import io.dropwizard.migrations.CloseableLiquibase; //导入依赖的package包/类
@Before
public void setupH2Test() throws Exception {
    liquibase = new CloseableLiquibase(hsqlConfig
            .getDataSourceFactory()
            .build(new MetricRegistry(), "liquibase"));
    liquibase.update("");
    database = new DBIFactory().build(environment(), hsqlConfig.getDataSourceFactory(), "h2test");
    database.registerArgumentFactory(new DependencyIdArgumentFactory());
    database.registerArgumentFactory(new ServiceIdArgumentFactory());
    database.registerArgumentFactory(new TenacityConfigurationArgumentFactory(Jackson.newObjectMapper()));
    database.registerArgumentFactory(new DateTimeArgumentFactory());
}
 
开发者ID:guggens,项目名称:log-dropwizard-eureka-mongo-sample,代码行数:13,代码来源:H2Test.java

示例6: start

import io.dropwizard.migrations.CloseableLiquibase; //导入依赖的package包/类
@Override
public void start() throws Exception {
    LOGGER.info("begin migration");
    final ManagedDataSource dataSource = dataSourceFactory.build(new MetricRegistry(), "liquibase");
    try(CloseableLiquibase liquibase = new CloseableLiquibaseWithClassPathMigrationsFile(dataSource, "migrations.xml")) {
        liquibase.update("migrations");
    }
    LOGGER.info("finish migration");
}
 
开发者ID:paukiatwee,项目名称:budgetapp,代码行数:10,代码来源:MigrationManaged.java

示例7: initialize

import io.dropwizard.migrations.CloseableLiquibase; //导入依赖的package包/类
@Override
public boolean initialize() {
    try (CloseableLiquibase liquibase = new CloseableLiquibaseWithClassPathMigrationsFile(configuration
            .getDataSourceFactory()
            .build(metricRegistry, "liquibase"), MIGRATIONS_FILENAME)) {
        liquibase.update("");
        return true;
    } catch (Exception err) {
        LOGGER.error("Failed to create liquibase", err);
        throw new IllegalStateException(err);
    }
}
 
开发者ID:yammer,项目名称:breakerbox,代码行数:13,代码来源:JdbiStore.java

示例8: openLiquibase

import io.dropwizard.migrations.CloseableLiquibase; //导入依赖的package包/类
CloseableLiquibase openLiquibase(DataSourceFactory dataSourceFactory, Namespace namespace)
        throws ClassNotFoundException, SQLException, LiquibaseException {
    final ManagedDataSource dataSource = dataSourceFactory.build(new MetricRegistry(), "liquibase");
    final String migrationsFile = (String) namespace.get("migrations-file");
    if (migrationsFile == null) {
        return new CloseableLiquibase(dataSource);
    }

    LOGGER.warn("Open Liquibase with migrations-file: {}", migrationsFile );
    return new CloseableLiquibase(dataSource, migrationsFile);
}
 
开发者ID:Astonish-Results,项目名称:dropwizard-routing,代码行数:12,代码来源:AbstractRoutingLiquibaseCommand.java

示例9: createLiquibase

import io.dropwizard.migrations.CloseableLiquibase; //导入依赖的package包/类
private static CloseableLiquibase createLiquibase(DataSourceFactory dbConfig) throws SQLException, LiquibaseException {
    ManagedDataSource dataSource = dbConfig.build(new MetricRegistry(), "liquibase");
    return new CloseableLiquibase(dataSource);
}
 
开发者ID:Lugribossk,项目名称:dropwizard-experiment,代码行数:5,代码来源:DbDiffCommand.java


注:本文中的io.dropwizard.migrations.CloseableLiquibase类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。