#2074 - Refactor extract ebean-ddlgen module. In future this module would expected to be a test only dependency

This commit is contained in:
rob bygrave
2020-10-10 12:28:02 +13:00
parent b9047bf280
commit b22bffe770
426 changed files with 5533 additions and 229 deletions
+7
View File
@@ -47,6 +47,13 @@
</profiles>
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-ddlgen</artifactId>
<version>12.4.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
@@ -2,8 +2,6 @@ package io.ebean.config.dbplatform;
import io.ebean.config.PlatformConfig;
import io.ebean.config.dbplatform.hana.HanaPlatform;
import io.ebeaninternal.dbmigration.ddlgeneration.platform.PlatformDdl;
import io.ebeaninternal.dbmigration.ddlgeneration.PlatformDdlBuilder;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
@@ -12,37 +10,6 @@ public class HanaPlatformTest {
HanaPlatform platform = new HanaPlatform();
@Test
public void testTypeConversion() {
PlatformDdl ddl = PlatformDdlBuilder.create(platform);
assertThat(ddl.convert("clob")).isEqualTo("nclob");
assertThat(ddl.convert("blob")).isEqualTo("blob");
assertThat(ddl.convert("json")).isEqualTo("nclob");
assertThat(ddl.convert("jsonb")).isEqualTo("nclob");
assertThat(ddl.convert("jsonvarchar")).isEqualTo("nvarchar(255)");
assertThat(ddl.convert("double")).isEqualTo("double");
assertThat(ddl.convert("varchar(20)")).isEqualTo("nvarchar(20)");
assertThat(ddl.convert("decimal(10)")).isEqualTo("decimal(10)");
assertThat(ddl.convert("decimal(8,4)")).isEqualTo("decimal(8,4)");
assertThat(ddl.convert("decimal")).isEqualTo("decimal(16,3)");
assertThat(ddl.convert("boolean")).isEqualTo("boolean");
assertThat(ddl.convert("bit")).isEqualTo("smallint");
assertThat(ddl.convert("tinyint")).isEqualTo("smallint");
assertThat(ddl.convert("binary")).isEqualTo("varbinary(255)");
assertThat(ddl.convert("binary(16)")).isEqualTo("varbinary(16)");
assertThat(ddl.convert("point")).isEqualTo("st_point");
assertThat(ddl.convert("multilinestring")).isEqualTo("st_geometry");
assertThat(ddl.convert("multipolygon")).isEqualTo("st_geometry");
assertThat(ddl.convert("multipoint")).isEqualTo("st_geometry");
assertThat(ddl.convert("linestring")).isEqualTo("st_geometry");
assertThat(ddl.convert("polygon")).isEqualTo("st_geometry");
}
@Test
public void uuid_default() {
@@ -2,28 +2,12 @@ package io.ebean.config.dbplatform;
import io.ebean.config.PlatformConfig;
import io.ebean.config.dbplatform.mysql.MySqlPlatform;
import io.ebeaninternal.dbmigration.ddlgeneration.platform.PlatformDdl;
import io.ebeaninternal.dbmigration.ddlgeneration.PlatformDdlBuilder;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class MySqlPlatformTest {
MySqlPlatform mySqlPlatform = new MySqlPlatform();
@Test
public void testTypeConversion() {
PlatformDdl ddl = PlatformDdlBuilder.create(mySqlPlatform);
assertThat(ddl.convert("clob")).isEqualTo("longtext");
assertThat(ddl.convert("json")).isEqualTo("json");
assertThat(ddl.convert("jsonb")).isEqualTo("json");
assertThat(ddl.convert("varchar(20)")).isEqualTo("varchar(20)");
assertThat(ddl.convert("boolean")).isEqualTo("tinyint(1)");
assertThat(ddl.convert("bit")).isEqualTo("tinyint(1)");
assertThat(ddl.convert("decimal")).isEqualTo("decimal(16,3)");
}
@Test
public void uuid_default() {
@@ -2,37 +2,12 @@ package io.ebean.config.dbplatform;
import io.ebean.config.PlatformConfig;
import io.ebean.config.dbplatform.oracle.OraclePlatform;
import io.ebeaninternal.dbmigration.ddlgeneration.platform.PlatformDdl;
import io.ebeaninternal.dbmigration.ddlgeneration.PlatformDdlBuilder;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class OraclePlatformTest {
OraclePlatform platform = new OraclePlatform();
@Test
public void testTypeConversion() {
PlatformDdl ddl = PlatformDdlBuilder.create(platform);
assertThat(ddl.convert("clob")).isEqualTo("clob");
assertThat(ddl.convert("blob")).isEqualTo("blob");
assertThat(ddl.convert("json")).isEqualTo("clob");
assertThat(ddl.convert("jsonb")).isEqualTo("clob");
assertThat(ddl.convert("double")).isEqualTo("number(19,4)");
assertThat(ddl.convert("varchar(20)")).isEqualTo("varchar2(20)");
assertThat(ddl.convert("decimal(10)")).isEqualTo("number(10)");
assertThat(ddl.convert("decimal(8,4)")).isEqualTo("number(8,4)");
assertThat(ddl.convert("decimal")).isEqualTo("number(16,3)");
assertThat(ddl.convert("boolean")).isEqualTo("number(1)");
assertThat(ddl.convert("bit")).isEqualTo("bit");
assertThat(ddl.convert("tinyint")).isEqualTo("number(3)");
assertThat(ddl.convert("binary(16)")).isEqualTo("raw(16)");
}
@Test
public void uuid_default() {
@@ -2,37 +2,12 @@ package io.ebean.config.dbplatform;
import io.ebean.config.PlatformConfig;
import io.ebean.config.dbplatform.postgres.PostgresPlatform;
import io.ebeaninternal.dbmigration.ddlgeneration.platform.PlatformDdl;
import io.ebeaninternal.dbmigration.ddlgeneration.PlatformDdlBuilder;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class PostgresPlatformTest {
@Test
public void testTypeConversion() {
PostgresPlatform platform = new PostgresPlatform();
PlatformDdl ddl = PlatformDdlBuilder.create(platform);
assertThat(ddl.convert("clob")).isEqualTo("text");
assertThat(ddl.convert("blob")).isEqualTo("bytea");
assertThat(ddl.convert("json")).isEqualTo("json");
assertThat(ddl.convert("jsonb")).isEqualTo("jsonb");
assertThat(ddl.convert("hstore")).isEqualTo("hstore");
assertThat(ddl.convert("double")).isEqualTo("float");
assertThat(ddl.convert("tinyint")).isEqualTo("smallint");
assertThat(ddl.convert("double")).isEqualTo("float");
assertThat(ddl.convert("varchar(20)")).isEqualTo("varchar(20)");
assertThat(ddl.convert("decimal")).isEqualTo("decimal(16,3)");
assertThat(ddl.convert("decimal(10)")).isEqualTo("decimal(10)");
assertThat(ddl.convert("decimal(8,4)")).isEqualTo("decimal(8,4)");
assertThat(ddl.convert("boolean")).isEqualTo("boolean");
assertThat(ddl.convert("bit")).isEqualTo("bit");
}
@Test
public void testUuidType() {
@@ -2,8 +2,6 @@ package io.ebean.config.dbplatform;
import io.ebean.config.PlatformConfig;
import io.ebean.config.dbplatform.sqlserver.SqlServer17Platform;
import io.ebeaninternal.dbmigration.ddlgeneration.platform.PlatformDdl;
import io.ebeaninternal.dbmigration.ddlgeneration.PlatformDdlBuilder;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
@@ -12,27 +10,6 @@ public class SqlserverPlatformTest {
SqlServer17Platform platform = new SqlServer17Platform();
@Test
public void testTypeConversion() {
PlatformDdl ddl = PlatformDdlBuilder.create(platform);
assertThat(ddl.convert("clob")).isEqualTo("nvarchar(max)");
assertThat(ddl.convert("blob")).isEqualTo("image");
assertThat(ddl.convert("json")).isEqualTo("nvarchar(max)");
assertThat(ddl.convert("jsonb")).isEqualTo("nvarchar(max)");
assertThat(ddl.convert("double")).isEqualTo("float(32)");
assertThat(ddl.convert("varchar(20)")).isEqualTo("nvarchar(20)");
assertThat(ddl.convert("decimal(10)")).isEqualTo("numeric(10)");
assertThat(ddl.convert("decimal(8,4)")).isEqualTo("numeric(8,4)");
assertThat(ddl.convert("decimal")).isEqualTo("numeric(16,3)");
assertThat(ddl.convert("boolean")).isEqualTo("bit");
assertThat(ddl.convert("bit")).isEqualTo("bit");
assertThat(ddl.convert("tinyint")).isEqualTo("smallint");
assertThat(ddl.convert("binary(16)")).isEqualTo("binary(16)");
}
@Test
public void uuid_default() {
@@ -45,7 +45,6 @@ import io.ebean.plugin.Property;
import io.ebean.plugin.SpiServer;
import io.ebean.text.csv.CsvReader;
import io.ebean.text.json.JsonContext;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlHandler;
import io.ebeaninternal.server.core.SpiResultSet;
import io.ebeaninternal.server.core.timezone.DataTimeZone;
import io.ebeaninternal.server.deploy.BeanDescriptor;
@@ -1,3 +0,0 @@
-- h2 and postgres script
@@ -1,7 +0,0 @@
create or replace view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id
@@ -1,7 +0,0 @@
create or replace view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id
@@ -1,3 +0,0 @@
-- h2 and postgres script
@@ -1,7 +0,0 @@
create or replace view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id
@@ -1,7 +0,0 @@
create view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id;
@@ -1,8 +0,0 @@
drop view order_agg_vw if exists ;
create view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id;
@@ -1,7 +0,0 @@
create or replace view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id
@@ -1,7 +0,0 @@
create or replace view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id
@@ -1,4 +0,0 @@
-- oracle only script
select * from dual;
@@ -1,7 +0,0 @@
create or replace view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id
@@ -1,3 +0,0 @@
-- h2 and postgres script
@@ -1,7 +0,0 @@
create or replace view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id
@@ -1,4 +0,0 @@
-- postgres specific indexes
create index ix_ebasic_jmjb_gin2 on ebasic_json_map_json_b using gin(content jsonb_path_ops);
@@ -1,8 +0,0 @@
drop view if exists order_agg_vw;
create view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id;
@@ -1,10 +0,0 @@
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'order_agg_vw')
DROP VIEW order_agg_vw;
create view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id;
+75
View File
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ebean-parent</artifactId>
<groupId>io.ebean</groupId>
<version>12.4.3-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ebean-ddlgen</artifactId>
<!-- <version>12.4.1</version>-->
<dependencies>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-api</artifactId>
<version>12.4.3-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-core</artifactId>
<version>12.4.3-SNAPSHOT</version>
</dependency>
<!-- Provided scope to compile with java 11 -->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.2</version>
<scope>provided</scope>
</dependency>
<!-- test dependencies -->
<dependency>
<groupId>org.avaje.composite</groupId>
<artifactId>junit</artifactId>
<version>1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>io.ebean</groupId>
<artifactId>ebean-maven-plugin</artifactId>
<version>12.4.2</version>
<executions>
<execution>
<id>test</id>
<phase>process-test-classes</phase>
<configuration>
<transformArgs>debug=0</transformArgs>
</configuration>
<goals>
<goal>testEnhance</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

Some files were not shown because too many files have changed in this diff Show More