INT-1052: add schema scripts for common platforms

This commit is contained in:
David Syer
2010-05-06 08:59:13 +00:00
parent d6a849d9b7
commit a8d9c4cfc2
41 changed files with 779 additions and 259 deletions

View File

@@ -45,17 +45,17 @@
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.5.3.0_1</version>
<scope>test</scope>
</dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.5.3.0_1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.7</version>
<scope>test</scope>
</dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-core</artifactId>
@@ -72,7 +72,7 @@
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
@@ -106,4 +106,153 @@
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>generate-sql</id>
<phase>generate-sources</phase>
<configuration>
<tasks>
<typedef resource="foundrylogic/vpp/typedef.properties" />
<taskdef resource="foundrylogic/vpp/taskdef.properties" />
<vppcopy todir="${basedir}/target/generated-resources"
overwrite="true">
<config>
<context>
<property key="includes" value="src/main/sql" />
<property file="${basedir}/src/main/sql/hsqldb.properties" />
</context>
<engine>
<property key="velocimacro.library" value="src/main/sql/hsqldb.vpp" />
</engine>
</config>
<fileset dir="${basedir}/src/main/sql" includes="schema*.sql.vpp" />
<mapper type="glob" from="*.sql.vpp" to="*-hsqldb.sql" />
</vppcopy>
<vppcopy todir="${basedir}/target/generated-resources"
overwrite="true">
<config>
<context>
<property key="includes" value="src/main/sql" />
<property file="${basedir}/src/main/sql/h2.properties" />
</context>
<engine>
<property key="velocimacro.library" value="src/main/sql/h2.vpp" />
</engine>
</config>
<fileset dir="${basedir}/src/main/sql" includes="schema*.sql.vpp" />
<mapper type="glob" from="*.sql.vpp" to="*-h2.sql" />
</vppcopy>
<vppcopy todir="${basedir}/target/generated-resources"
overwrite="true">
<config>
<context>
<property key="includes" value="src/main/sql" />
<property file="${basedir}/src/main/sql/db2.properties" />
</context>
<engine>
<property key="velocimacro.library" value="src/main/sql/db2.vpp" />
</engine>
</config>
<fileset dir="${basedir}/src/main/sql" includes="schema*.sql.vpp" />
<mapper type="glob" from="*.sql.vpp" to="*-db2.sql" />
</vppcopy>
<vppcopy todir="${basedir}/target/generated-resources"
overwrite="true">
<config>
<context>
<property key="includes" value="src/main/sql" />
<property file="${basedir}/src/main/sql/derby.properties" />
</context>
<engine>
<property key="velocimacro.library" value="src/main/sql/derby.vpp" />
</engine>
</config>
<fileset dir="${basedir}/src/main/sql" includes="schema*.sql.vpp" />
<mapper type="glob" from="*.sql.vpp" to="*-derby.sql" />
</vppcopy>
<vppcopy todir="${basedir}/target/generated-resources"
overwrite="true">
<config>
<context>
<property key="includes" value="src/main/sql" />
<property file="${basedir}/src/main/sql/oracle10g.properties" />
</context>
<engine>
<property key="velocimacro.library" value="src/main/sql/oracle10g.vpp" />
</engine>
</config>
<fileset dir="${basedir}/src/main/sql" includes="schema*.sql.vpp" />
<mapper type="glob" from="*.sql.vpp" to="*-oracle10g.sql" />
</vppcopy>
<vppcopy todir="${basedir}/target/generated-resources"
overwrite="true">
<config>
<context>
<property key="includes" value="src/main/sql" />
<property file="${basedir}/src/main/sql/postgresql.properties" />
</context>
<engine>
<property key="velocimacro.library" value="src/main/sql/postgresql.vpp" />
</engine>
</config>
<fileset dir="${basedir}/src/main/sql" includes="schema*.sql.vpp" />
<mapper type="glob" from="*.sql.vpp" to="*-postgresql.sql" />
</vppcopy>
<vppcopy todir="${basedir}/target/generated-resources"
overwrite="true">
<config>
<context>
<property key="includes" value="src/main/sql" />
<property file="${basedir}/src/main/sql/mysql.properties" />
</context>
<engine>
<property key="velocimacro.library" value="src/main/sql/mysql.vpp" />
</engine>
</config>
<fileset dir="${basedir}/src/main/sql" includes="schema*.sql.vpp" />
<mapper type="glob" from="*.sql.vpp" to="*-mysql.sql" />
</vppcopy>
<vppcopy todir="${basedir}/target/generated-resources"
overwrite="true">
<config>
<context>
<property key="includes" value="src/main/sql" />
<property file="${basedir}/src/main/sql/sqlserver.properties" />
</context>
<engine>
<property key="velocimacro.library" value="src/main/sql/sqlserver.vpp" />
</engine>
</config>
<fileset dir="${basedir}/src/main/sql" includes="schema*.sql.vpp" />
<mapper type="glob" from="*.sql.vpp" to="*-sqlserver.sql" />
</vppcopy>
<vppcopy todir="${basedir}/target/generated-resources"
overwrite="true">
<config>
<context>
<property key="includes" value="src/main/sql" />
<property file="${basedir}/src/main/sql/sybase.properties" />
</context>
<engine>
<property key="velocimacro.library" value="src/main/sql/sybase.vpp" />
</engine>
</config>
<fileset dir="${basedir}/src/main/sql" includes="schema*.sql.vpp" />
<mapper type="glob" from="*.sql.vpp" to="*-sybase.sql" />
</vppcopy>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,19 @@
-- Autogenerated: do not edit this file
CREATE TABLE INT_MESSAGE (
MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
REGION VARCHAR(100),
CREATED_DATE TIMESTAMP NOT NULL,
MESSAGE_BYTES BLOB
);
CREATE TABLE INT_MESSAGE_GROUP (
MESSAGE_ID VARCHAR(100) NOT NULL,
CORRELATION_KEY VARCHAR(100) NOT NULL,
REGION VARCHAR(100),
MARKED BIGINT,
CREATED_DATE TIMESTAMP NOT NULL,
UPDATED_DATE TIMESTAMP,
MESSAGE_BYTES BLOB,
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
);

View File

@@ -1,19 +1,19 @@
CREATE TABLE INT_MESSAGE (
MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
REGION VARCHAR(100),
CREATED_DATE TIMESTAMP NOT NULL,
MESSAGE_BYTES BLOB
);
CREATE TABLE INT_MESSAGE_GROUP (
MESSAGE_ID VARCHAR(100) NOT NULL,
CORRELATION_KEY VARCHAR(100) NOT NULL,
REGION VARCHAR(100),
MARKED INTEGER,
CREATED_DATE TIMESTAMP NOT NULL,
UPDATED_DATE TIMESTAMP,
MESSAGE_BYTES BLOB,
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
);
-- Autogenerated: do not edit this file
CREATE TABLE INT_MESSAGE (
MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
REGION VARCHAR(100),
CREATED_DATE TIMESTAMP NOT NULL,
MESSAGE_BYTES BLOB
);
CREATE TABLE INT_MESSAGE_GROUP (
MESSAGE_ID VARCHAR(100) NOT NULL,
CORRELATION_KEY VARCHAR(100) NOT NULL,
REGION VARCHAR(100),
MARKED BIGINT,
CREATED_DATE TIMESTAMP NOT NULL,
UPDATED_DATE TIMESTAMP,
MESSAGE_BYTES BLOB,
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
);

View File

@@ -0,0 +1,4 @@
-- Autogenerated: do not edit this file
DROP TABLE INT_MESSAGE ;
DROP TABLE INT_MESSAGE_GROUP ;

View File

@@ -0,0 +1,4 @@
-- Autogenerated: do not edit this file
DROP TABLE INT_MESSAGE ;
DROP TABLE INT_MESSAGE_GROUP ;

View File

@@ -0,0 +1,4 @@
-- Autogenerated: do not edit this file
DROP TABLE INT_MESSAGE IF EXISTS;
DROP TABLE INT_MESSAGE_GROUP IF EXISTS;

View File

@@ -0,0 +1,4 @@
-- Autogenerated: do not edit this file
DROP TABLE INT_MESSAGE IF EXISTS;
DROP TABLE INT_MESSAGE_GROUP IF EXISTS;

View File

@@ -0,0 +1,4 @@
-- Autogenerated: do not edit this file
DROP TABLE IF EXISTS INT_MESSAGE ;
DROP TABLE IF EXISTS INT_MESSAGE_GROUP ;

View File

@@ -0,0 +1,4 @@
-- Autogenerated: do not edit this file
DROP TABLE INT_MESSAGE ;
DROP TABLE INT_MESSAGE_GROUP ;

View File

@@ -0,0 +1,4 @@
-- Autogenerated: do not edit this file
DROP TABLE INT_MESSAGE ;
DROP TABLE INT_MESSAGE_GROUP ;

View File

@@ -0,0 +1,4 @@
-- Autogenerated: do not edit this file
DROP TABLE INT_MESSAGE ;
DROP TABLE INT_MESSAGE_GROUP ;

View File

@@ -0,0 +1,4 @@
-- Autogenerated: do not edit this file
DROP TABLE INT_MESSAGE ;
DROP TABLE INT_MESSAGE_GROUP ;

View File

@@ -0,0 +1,19 @@
-- Autogenerated: do not edit this file
CREATE TABLE INT_MESSAGE (
MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
REGION VARCHAR(100),
CREATED_DATE TIMESTAMP NOT NULL,
MESSAGE_BYTES LONGVARBINARY
);
CREATE TABLE INT_MESSAGE_GROUP (
MESSAGE_ID VARCHAR(100) NOT NULL,
CORRELATION_KEY VARCHAR(100) NOT NULL,
REGION VARCHAR(100),
MARKED BIGINT,
CREATED_DATE TIMESTAMP NOT NULL,
UPDATED_DATE TIMESTAMP,
MESSAGE_BYTES LONGVARBINARY,
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
);

View File

@@ -0,0 +1,19 @@
-- Autogenerated: do not edit this file
CREATE TABLE INT_MESSAGE (
MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
REGION VARCHAR(100),
CREATED_DATE TIMESTAMP NOT NULL,
MESSAGE_BYTES LONGVARBINARY
);
CREATE TABLE INT_MESSAGE_GROUP (
MESSAGE_ID VARCHAR(100) NOT NULL,
CORRELATION_KEY VARCHAR(100) NOT NULL,
REGION VARCHAR(100),
MARKED BIGINT,
CREATED_DATE TIMESTAMP NOT NULL,
UPDATED_DATE TIMESTAMP,
MESSAGE_BYTES LONGVARBINARY,
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
);

View File

@@ -0,0 +1,19 @@
-- Autogenerated: do not edit this file
CREATE TABLE INT_MESSAGE (
MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
REGION VARCHAR(100),
CREATED_DATE DATETIME NOT NULL,
MESSAGE_BYTES BLOB
);
CREATE TABLE INT_MESSAGE_GROUP (
MESSAGE_ID VARCHAR(100) NOT NULL,
CORRELATION_KEY VARCHAR(100) NOT NULL,
REGION VARCHAR(100),
MARKED BIGINT,
CREATED_DATE DATETIME NOT NULL,
UPDATED_DATE DATETIME,
MESSAGE_BYTES BLOB,
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
);

View File

@@ -0,0 +1,19 @@
-- Autogenerated: do not edit this file
CREATE TABLE INT_MESSAGE (
MESSAGE_ID VARCHAR2(100) NOT NULL PRIMARY KEY,
REGION VARCHAR2(100),
CREATED_DATE TIMESTAMP NOT NULL,
MESSAGE_BYTES BLOB
);
CREATE TABLE INT_MESSAGE_GROUP (
MESSAGE_ID VARCHAR2(100) NOT NULL,
CORRELATION_KEY VARCHAR2(100) NOT NULL,
REGION VARCHAR2(100),
MARKED NUMBER(19,0),
CREATED_DATE TIMESTAMP NOT NULL,
UPDATED_DATE TIMESTAMP,
MESSAGE_BYTES BLOB,
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
);

View File

@@ -0,0 +1,19 @@
-- Autogenerated: do not edit this file
CREATE TABLE INT_MESSAGE (
MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
REGION VARCHAR(100),
CREATED_DATE TIMESTAMP NOT NULL,
MESSAGE_BYTES BYTEA
);
CREATE TABLE INT_MESSAGE_GROUP (
MESSAGE_ID VARCHAR(100) NOT NULL,
CORRELATION_KEY VARCHAR(100) NOT NULL,
REGION VARCHAR(100),
MARKED BIGINT,
CREATED_DATE TIMESTAMP NOT NULL,
UPDATED_DATE TIMESTAMP,
MESSAGE_BYTES BYTEA,
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
);

View File

@@ -0,0 +1,19 @@
-- Autogenerated: do not edit this file
CREATE TABLE INT_MESSAGE (
MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
REGION VARCHAR(100),
CREATED_DATE DATETIME NOT NULL,
MESSAGE_BYTES IMAGE
);
CREATE TABLE INT_MESSAGE_GROUP (
MESSAGE_ID VARCHAR(100) NOT NULL,
CORRELATION_KEY VARCHAR(100) NOT NULL,
REGION VARCHAR(100),
MARKED BIGINT,
CREATED_DATE DATETIME NOT NULL,
UPDATED_DATE DATETIME,
MESSAGE_BYTES IMAGE,
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
);

View File

@@ -0,0 +1,19 @@
-- Autogenerated: do not edit this file
CREATE TABLE INT_MESSAGE (
MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
REGION VARCHAR(100),
CREATED_DATE DATETIME NOT NULL,
MESSAGE_BYTES IMAGE
);
CREATE TABLE INT_MESSAGE_GROUP (
MESSAGE_ID VARCHAR(100) NOT NULL,
CORRELATION_KEY VARCHAR(100) NOT NULL,
REGION VARCHAR(100),
MARKED BIGINT,
CREATED_DATE DATETIME NOT NULL,
UPDATED_DATE DATETIME,
MESSAGE_BYTES IMAGE,
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
);

View File

@@ -0,0 +1,11 @@
platform=db2
# SQL language oddities
BIGINT = BIGINT
IDENTITY =
DOUBLE = DOUBLE PRECISION
BLOB = BLOB
CLOB = CLOB
TIMESTAMP = TIMESTAMP
VARCHAR = VARCHAR
# for generating drop statements...
SEQUENCE = SEQUENCE

View File

@@ -0,0 +1,3 @@
#macro (sequence $name $value)CREATE SEQUENCE ${name} AS BIGINT MAXVALUE 9223372036854775807 NO CYCLE;
#end
#macro (notnull $name $type)ALTER COLUMN ${name} SET NOT NULL#end

View File

@@ -0,0 +1,12 @@
platform=db2
# SQL language oddities
BIGINT = BIGINT
IDENTITY =
GENERATED = GENERATED BY DEFAULT AS IDENTITY
DOUBLE = DOUBLE PRECISION
BLOB = BLOB
CLOB = CLOB
TIMESTAMP = TIMESTAMP
VARCHAR = VARCHAR
# for generating drop statements...
SEQUENCE = TABLE

View File

@@ -0,0 +1,3 @@
#macro (sequence $name $value)CREATE TABLE ${name} (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1));
#end
#macro (notnull $name $type)ALTER COLUMN ${name} NOT NULL#end

View File

@@ -0,0 +1,2 @@
DROP TABLE $!{IFEXISTSBEFORE} INT_MESSAGE $!{IFEXISTS};
DROP TABLE $!{IFEXISTSBEFORE} INT_MESSAGE_GROUP $!{IFEXISTS};

View File

@@ -0,0 +1,12 @@
platform=h2
# SQL language oddities
BIGINT = BIGINT
IDENTITY = IDENTITY
IFEXISTS = IF EXISTS
DOUBLE = DOUBLE PRECISION
BLOB = LONGVARBINARY
CLOB = LONGVARCHAR
TIMESTAMP = TIMESTAMP
VARCHAR = VARCHAR
# for generating drop statements...
SEQUENCE = SEQUENCE

View File

@@ -0,0 +1,3 @@
#macro (sequence $name $value)CREATE SEQUENCE ${name};
#end
#macro (notnull $name $type)ALTER COLUMN ${name} ${type} NOT NULL#end

View File

@@ -0,0 +1,12 @@
platform=hsqldb
# SQL language oddities
BIGINT = BIGINT
IDENTITY = IDENTITY
IFEXISTS = IF EXISTS
DOUBLE = DOUBLE PRECISION
BLOB = LONGVARBINARY
CLOB = LONGVARCHAR
TIMESTAMP = TIMESTAMP
VARCHAR = VARCHAR
# for generating drop statements...
SEQUENCE = TABLE

View File

@@ -0,0 +1,5 @@
#macro (sequence $name $value)CREATE TABLE ${name} (
ID BIGINT IDENTITY
);
#end
#macro (notnull $name $type)ALTER COLUMN ${name} ${type} NOT NULL#end

View File

@@ -0,0 +1,14 @@
platform=oracle10g
# SQL language oddities
BIGINT = BIGINT
IDENTITY =
GENERATED =
VOODOO = ENGINE=InnoDB
IFEXISTSBEFORE = IF EXISTS
DOUBLE = DOUBLE PRECISION
BLOB = BLOB
CLOB = TEXT
TIMESTAMP = DATETIME
VARCHAR = VARCHAR
# for generating drop statements...
SEQUENCE = TABLE

View File

@@ -0,0 +1,4 @@
#macro (sequence $name $value)CREATE TABLE ${name} (ID BIGINT NOT NULL) ENGINE=MYISAM;
INSERT INTO ${name} values(0);
#end
#macro (notnull $name $type)MODIFY COLUMN ${name} ${type} NOT NULL#end

View File

@@ -0,0 +1,12 @@
platform=oracle10g
# SQL language oddities
BIGINT = NUMBER(19\,0)
IDENTITY =
GENERATED =
DOUBLE = NUMBER
BLOB = BLOB
CLOB = CLOB
TIMESTAMP = TIMESTAMP
VARCHAR = VARCHAR2
# for generating drop statements...
SEQUENCE = SEQUENCE

View File

@@ -0,0 +1,3 @@
#macro (sequence $name $value)CREATE SEQUENCE ${name} START WITH ${value} MINVALUE 0 MAXVALUE 9223372036854775807 NOCYCLE;
#end
#macro (notnull $name $type)MODIFY ${name} NOT NULL#end

View File

@@ -0,0 +1,12 @@
platform=postgresql
# SQL language oddities
BIGINT = BIGINT
IDENTITY =
GENERATED =
DOUBLE = DOUBLE PRECISION
BLOB = BYTEA
CLOB = TEXT
TIMESTAMP = TIMESTAMP
VARCHAR = VARCHAR
# for generating drop statements...
SEQUENCE = SEQUENCE

View File

@@ -0,0 +1,3 @@
#macro (sequence $name $value)CREATE SEQUENCE ${name} MAXVALUE 9223372036854775807 NO CYCLE;
#end
#macro (notnull $name $type)ALTER COLUMN ${name} SET NOT NULL#end

View File

@@ -0,0 +1,3 @@
-- Autogenerated: do not edit this file
#parse("${includes}/destroy.sql.vpp")

View File

@@ -0,0 +1,19 @@
-- Autogenerated: do not edit this file
CREATE TABLE INT_MESSAGE (
MESSAGE_ID ${VARCHAR}(100) NOT NULL PRIMARY KEY,
REGION ${VARCHAR}(100),
CREATED_DATE ${TIMESTAMP} NOT NULL,
MESSAGE_BYTES ${BLOB}
);
CREATE TABLE INT_MESSAGE_GROUP (
MESSAGE_ID ${VARCHAR}(100) NOT NULL,
CORRELATION_KEY ${VARCHAR}(100) NOT NULL,
REGION ${VARCHAR}(100),
MARKED ${BIGINT},
CREATED_DATE ${TIMESTAMP} NOT NULL,
UPDATED_DATE ${TIMESTAMP},
MESSAGE_BYTES ${BLOB},
constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
);

View File

@@ -0,0 +1,11 @@
# SQL language oddities
BIGINT = BIGINT
IDENTITY =
GENERATED =
DOUBLE = DOUBLE PRECISION
BLOB = IMAGE
CLOB = TEXT
TIMESTAMP = DATETIME
VARCHAR = VARCHAR
# for generating drop statements...
SEQUENCE = TABLE

View File

@@ -0,0 +1,3 @@
#macro (sequence $name $value)CREATE TABLE ${name} (ID BIGINT IDENTITY);
#end
#macro (notnull $name $type)ALTER COLUMN ${name} ${type} NOT NULL#end

View File

@@ -0,0 +1,12 @@
# SQL language oddities
BIGINT = BIGINT
IDENTITY =
GENERATED =
DOUBLE = DOUBLE PRECISION
BLOB = IMAGE
CLOB = TEXT
TIMESTAMP = DATETIME
VARCHAR = VARCHAR
NULL = NULL
# for generating drop statements...
SEQUENCE = TABLE

View File

@@ -0,0 +1,3 @@
#macro (sequence $name $value)CREATE TABLE ${name} (ID BIGINT IDENTITY);
#end
#macro (notnull $name $type)ALTER COLUMN ${name} ${type} NOT NULL#end