diff --git a/pom.xml b/pom.xml
index 59c4dcee6..5b0d5a6b5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -99,7 +99,7 @@
org.avaje
avaje-datasource
- 2.1.1
+ 2.1.2
@@ -111,13 +111,13 @@
org.avaje
avaje-classpath-scanner
- 2.2.2
+ 2.2.3
io.ebean
- ebean-dbmigration
- 10.1.10
+ ebean-migration
+ 10.2.1
diff --git a/src/main/java/io/ebean/config/DbMigrationConfig.java b/src/main/java/io/ebean/config/DbMigrationConfig.java
index ba9dcd38c..0cb39cd35 100644
--- a/src/main/java/io/ebean/config/DbMigrationConfig.java
+++ b/src/main/java/io/ebean/config/DbMigrationConfig.java
@@ -1,8 +1,8 @@
package io.ebean.config;
import io.ebean.Platform;
-import io.ebean.dbmigration.MigrationConfig;
-import io.ebean.dbmigration.MigrationRunner;
+import io.ebean.migration.MigrationConfig;
+import io.ebean.migration.MigrationRunner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/io/ebean/config/ServerConfig.java b/src/main/java/io/ebean/config/ServerConfig.java
index 784d0c3a9..52bc64c23 100644
--- a/src/main/java/io/ebean/config/ServerConfig.java
+++ b/src/main/java/io/ebean/config/ServerConfig.java
@@ -13,7 +13,7 @@ import io.ebean.config.dbplatform.DatabasePlatform;
import io.ebean.config.dbplatform.DbEncrypt;
import io.ebean.config.dbplatform.DbType;
import io.ebean.dbmigration.DbOffline;
-import io.ebean.dbmigration.MigrationRunner;
+import io.ebean.migration.MigrationRunner;
import io.ebean.event.BeanFindController;
import io.ebean.event.BeanPersistController;
import io.ebean.event.BeanPersistListener;
@@ -30,7 +30,6 @@ import io.ebean.event.readaudit.ReadAuditPrepare;
import io.ebean.meta.MetaInfoManager;
import io.ebean.util.StringHelper;
-import java.util.regex.Pattern;
import org.avaje.datasource.DataSourceConfig;
import javax.sql.DataSource;
diff --git a/src/main/java/io/ebean/dbmigration/DdlGenerator.java b/src/main/java/io/ebean/dbmigration/DdlGenerator.java
index 09563f62e..d3a18ddb5 100644
--- a/src/main/java/io/ebean/dbmigration/DdlGenerator.java
+++ b/src/main/java/io/ebean/dbmigration/DdlGenerator.java
@@ -5,7 +5,7 @@ import io.ebean.config.ServerConfig;
import io.ebean.dbmigration.model.CurrentModel;
import io.ebeaninternal.api.SpiEbeanServer;
import io.ebeaninternal.extraddl.model.ExtraDdlXmlReader;
-import io.ebean.dbmigration.ddl.DdlRunner;
+import io.ebean.migration.ddl.DdlRunner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/resources/META-INF/MANIFEST.MF b/src/main/resources/META-INF/MANIFEST.MF
index c485fd12d..dbbdd58a5 100644
--- a/src/main/resources/META-INF/MANIFEST.MF
+++ b/src/main/resources/META-INF/MANIFEST.MF
@@ -1,5 +1,6 @@
Manifest-Version: 1.0
Premain-Class: io.ebean.enhance.agent.Transformer
+Automatic-Module-Name: io.ebean
Bundle-ManifestVersion: 2
Bundle-Name: Ebean-ORM
Bundle-SymbolicName: com.avaje.ebean
diff --git a/src/test/java/io/ebean/dbmigration/DbMigrationTest.java b/src/test/java/io/ebean/dbmigration/DbMigrationTest.java
index fe3d446c7..b5ee3afb5 100644
--- a/src/test/java/io/ebean/dbmigration/DbMigrationTest.java
+++ b/src/test/java/io/ebean/dbmigration/DbMigrationTest.java
@@ -5,9 +5,8 @@ import io.ebean.SqlQuery;
import io.ebean.SqlRow;
import io.ebean.SqlUpdate;
import io.ebean.Transaction;
-import io.ebean.dbmigration.ddl.DdlRunner;
+import io.ebean.migration.ddl.DdlRunner;
-import org.junit.Ignore;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -81,14 +80,14 @@ public class DbMigrationTest extends BaseTestCase {
+ "drop sequence migtest_e_user;\n"
+ "drop sequence migtest_e_history;\n"
, "cleanup");
-
-
+
+
runScript(false, "1.0__initial.sql");
-
+
SqlUpdate update = server().createSqlUpdate("insert into migtest_e_basic (id, old_boolean, user_id) values (1, :false, 1), (2, :true, 1)");
update.setParameter("false", false);
update.setParameter("true", true);
-
+
assertThat(server().execute(update)).isEqualTo(2);
@@ -97,40 +96,40 @@ public class DbMigrationTest extends BaseTestCase {
SqlQuery select = server().createSqlQuery("select * from migtest_e_basic order by id");
List result = select.findList();
assertThat(result).hasSize(2);
-
+
SqlRow row = result.get(0);
assertThat(row.keySet()).contains("old_boolean", "old_boolean2");
-
+
assertThat(row.getInteger("id")).isEqualTo(1);
assertThat(row.getBoolean("old_boolean")).isFalse();
assertThat(row.getBoolean("new_boolean_field")).isFalse(); // test if update old_boolean -> new_boolean_field works well
-
+
assertThat(row.getString("new_string_field")).isEqualTo("foo'bar");
assertThat(row.getBoolean("new_boolean_field2")).isTrue();
assertThat(row.getTimestamp("some_date")).isEqualTo(new Timestamp(100, 0, 1, 0, 0, 0, 0)); // = 2000-01-01T00:00:00
-
+
row = result.get(1);
assertThat(row.getInteger("id")).isEqualTo(2);
assertThat(row.getBoolean("old_boolean")).isTrue();
assertThat(row.getBoolean("new_boolean_field")).isTrue(); // test if update old_boolean -> new_boolean_field works well
-
+
assertThat(row.getString("new_string_field")).isEqualTo("foo'bar");
assertThat(row.getBoolean("new_boolean_field2")).isTrue();
assertThat(row.getTimestamp("some_date")).isEqualTo(new Timestamp(100, 0, 1, 0, 0, 0, 0)); // = 2000-01-01T00:00:00
- // Run migration & drops
+ // Run migration & drops
runScript(false, "1.2__dropsFor_1.1.sql");
-
+
select = server().createSqlQuery("select * from migtest_e_basic order by id");
result = select.findList();
assertThat(result).hasSize(2);
row = result.get(0);
assertThat(row.keySet()).doesNotContain("old_boolean", "old_boolean2");
-
+
runScript(false, "1.3.sql");
runScript(false, "1.4__dropsFor_1.3.sql");
-
+
// now DB structure shoud be the same as v1_0
select = server().createSqlQuery("select * from migtest_e_basic order by id");
result = select.findList();