Dropwizard ships with a dropwizard-migrations bundle. The module provides you with a wrapper for Liquibase database refactoring. The built-in bundle provides Dropwizard Commands, for a command line interface to run migrations. It does not provide a way to run migrations on application startup. That's where Liftwizard comes in. To run migrations with Dropwizard, you run a command like . To run migrations with Liftwizard, you run the usual command, and Liftwizard will run migrations on startup. There are pros and cons of tying migrations to application startup. The main pros are that you don't have to remember to run migrations, and that they apply to embedded databases in tests. The main con is that migrations can take a long time, and you may not want to block application startup. To turn it on, add to the list of registered bundles. Change the Configuration class to implement . Add a field with type . Add the getter/setter required by the interface. Configuration The requires that you're already using named data sources. Add a liquibase section to your json or yaml configuration. is an array, to allow multiple migrations to different data sources. Each dataSourceMigration's must match a dataSource's name in the section. If no is specified, is the default. can be or . is the default. are an array of Liquibase context tags. With this configuration in place, migrations will run on application startup. dropwizard-migrations java -jar hello-world.jar db migrate helloworld.yml server LiftwizardLiquibaseMigrationBundle @Override public void initialize(Bootstrap<HelloWorldConfiguration> bootstrap) { // ... bootstrap.addBundle(new LiftwizardLiquibaseMigrationBundle()); // ... } LiquibaseMigrationFactoryProvider public class HelloWorldConfiguration extends Configuration implements LiquibaseMigrationFactoryProvider // , ... other interfaces { // ... } LiquibaseMigrationFactory private @Valid @NotNull LiquibaseMigrationFactory liquibaseMigrationFactory = new LiquibaseMigrationFactory(); @JsonProperty("liquibase") @Override public LiquibaseMigrationFactory getLiquibaseMigrationFactory() { return this.liquibaseMigrationFactory; } @JsonProperty("liquibase") public void setLiquibaseMigrationFactory(LiquibaseMigrationFactory liquibaseMigrationFactory) { this.liquibaseMigrationFactory = liquibaseMigrationFactory; } LiftwizardLiquibaseMigrationBundle dataSourceMigrations dataSourceName dataSources migrationFileName migrations.xml migrationFileLocation classpath filesystem classpath contexts