diff --git a/core/pom.xml b/core/pom.xml
index a356273..c3718bb 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -16,4 +16,21 @@
17
UTF-8
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.2.0
+
+
+
+ test-jar
+
+
+
+
+
+
\ No newline at end of file
diff --git a/migration-creator/pom.xml b/migration-creator/pom.xml
index 6730790..4fbbb5c 100644
--- a/migration-creator/pom.xml
+++ b/migration-creator/pom.xml
@@ -23,5 +23,12 @@
core
${project.parent.version}
+
+ jef
+ core
+ ${project.parent.version}
+ test-jar
+ test
+
\ No newline at end of file
diff --git a/migration-creator/src/main/java/jef/model/migration/creator/MigrationCreator.java b/migration-creator/src/main/java/jef/model/migration/creator/MigrationCreator.java
index 949e28a..3e6664a 100644
--- a/migration-creator/src/main/java/jef/model/migration/creator/MigrationCreator.java
+++ b/migration-creator/src/main/java/jef/model/migration/creator/MigrationCreator.java
@@ -251,6 +251,7 @@ public class MigrationCreator {
if (fromField == null) {
handledTo.add(toField);
steps.add(new AddFieldOperation.Builder(toField.getEntity().getName(), toField.getName())
+ .sqlType(getSqlType(toField))
.notNull(toField.isNotNull()));
}
}
diff --git a/migration-creator/src/test/java/jef/model/migration/creator/MigrationCreatorTestBase.java b/migration-creator/src/test/java/jef/model/migration/creator/MigrationCreatorTestBase.java
index 5ff1ff5..ea35459 100644
--- a/migration-creator/src/test/java/jef/model/migration/creator/MigrationCreatorTestBase.java
+++ b/migration-creator/src/test/java/jef/model/migration/creator/MigrationCreatorTestBase.java
@@ -1,7 +1,11 @@
package jef.model.migration.creator;
import jef.model.DbContext;
+import jef.model.DbEntityBuilder;
+import jef.model.DbFieldBuilder;
import jef.model.ModelBuilder;
+import jef.platform.base.SqlTypeMapper;
+import jef.serializable.SerializableObject;
import java.io.File;
import java.net.URL;
@@ -14,6 +18,7 @@ import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import static jef.model.ModelBuilderCloneTest.debugHelper;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class MigrationCreatorTestBase {
@@ -47,6 +52,8 @@ public class MigrationCreatorTestBase {
compile(packageName, className, snapshotJava);
var clazz = (Class extends DbContext>) loadClass(packageName, className);
var mb = ModelBuilder.from(clazz);
+ applySqlTypes(mb);
+ debugHelper(from, mb);
assertEquals(from, mb);
} catch (AssertionError | RuntimeException e) {
throw e;
@@ -62,6 +69,8 @@ public class MigrationCreatorTestBase {
compile(packageName, className, snapshotJava);
var clazz = (Class extends DbContext>) loadClass(packageName, className);
var mb = ModelBuilder.from(clazz);
+ applySqlTypes(mb);
+ debugHelper(to, mb);
assertEquals(to, mb);
} catch (AssertionError | RuntimeException e) {
throw e;
@@ -70,6 +79,16 @@ public class MigrationCreatorTestBase {
}
}
+ private void applySqlTypes(ModelBuilder mb) {
+ for (DbEntityBuilder extends SerializableObject> entity : mb.entities()) {
+ for (DbFieldBuilder> field : entity.fields()) {
+ if (field.getField().getSqlType() == null) {
+ field.getField().setSqlType(new SqlTypeMapper().map(field.getField().getTypeName()).orElseThrow());
+ }
+ }
+ }
+ }
+
private File compile(String packageName, String className, String java) {
try {//src
File srcdir = new File(getSourcesFilesDir(), packageName.replace(".", File.separator));