cvillegas 2005/02/06 02:36:58
Modified: src/conf/ojb/templates VM_global_library.vm
Added: src/conf/ojb/templates db2.properties db2.vm
Log:
Added DB2 DDL generation support.
Revision Changes Path
1.2 +13 -0 jakarta-slide/src/conf/ojb/templates/VM_global_library.vm
Index: VM_global_library.vm
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/conf/ojb/templates/VM_global_library.vm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- VM_global_library.vm 23 Jan 2005 14:05:26 -0000 1.1
+++ VM_global_library.vm 6 Feb 2005 10:36:58 -0000 1.2
@@ -15,3 +15,16 @@
#end
#set($res = "$strings.chop($res,1)" )
#end
+
+#macro( printcols_db2 $res $columns )
+#set($res = '')
+#foreach($col in $columns)
+#if($col.name == "NAME" )
+#set($colname = '"NAME"')
+#else
+#set($colname = "$col.name")
+#end
+#set($res = "$res $colname,")
+#end
+#set($res = "$strings.chop($res,1)" )
+#end
1.1 jakarta-slide/src/conf/ojb/templates/db2.properties
Index: db2.properties
===================================================================
# JDBC to DB2 mappings.
BIT = NUMERIC(1)
TINYINT =
SMALLINT = SMALLINT
INTEGER = INTEGER
BIGINT = BIGINT
FLOAT = FLOAT
REAL = REAL
DOUBLE = DOUBLE
NUMERIC = NUMERIC
DECIMAL = DECIMAL
CHAR = VARCHAR
VARCHAR = VARCHAR
LONGVARCHAR = LONG VARCHAR
DATE = DATE
TIME = TIME
TIMESTAMP = TIMESTAMP
BINARY = CHAR(n) FOR BIT DATA
# For DB2/400, VARBINARY must be changed to VARCHAR (32000) FOR BIT DATA
VARBINARY = VARCHAR(n) FOR BIT DATA
LONGVARBINARY = LONG VARCHAR FOR BIT DATA
NULL = NULL
OTHER =
JAVA_OBJECT =
DISTINCT = DISTINCT
STRUCT =
ARRAY =
BLOB = BLOB
CLOB = CLOB
REF =
AUTOINCREMENT = GENERATED ALWAYS AS IDENTITY
NOTNULL = NOT NULL
1.1 jakarta-slide/src/conf/ojb/templates/db2.vm
Index: db2.vm
===================================================================
----------------------------------------------------
#foreach($table in $droptables)
DROP TABLE $table.name;
#end
----------------------------------------------------
#foreach($table in $tables)
CREATE TABLE $table.name (
#set( $dec = '' )
#foreach($col in $table.columns)
#notnull($nullString $col)
#if($col.name == "NAME" )
#set($colname = '"NAME"')
#else
#set($colname = "$col.name")
#end
#set( $dec = "$dec $colname $col.type$col.printSize() $nullString,$eol" )
#end
#if( $table.primaryKey )
#printcols_db2($cols $table.primaryKey.columns)
#set( $dec = "$dec CONSTRAINT ${dquot}P_KEY_1$dquot PRIMARY KEY ($cols
),$eol" )
#end
#foreach($index in $table.indices)
#if($index.unique)
#printcols($cols $index.columns)
#set( $dec = "$dec CONSTRAINT ${dquot}A_KEY_$velocityCount$dquot UNIQUE
($cols ),$eol" )
#end
#end
#set( $dec = $strings.chop($dec,1) )
$dec
);
#end
#foreach($table in $tables)
#foreach($fk in $table.foreignKeys)
ALTER TABLE ${table.name}
ADD CONSTRAINT "${table.name}_FK_${velocityCount}" FOREIGN KEY
($fk.localKey)
REFERENCES $fk.foreignTable ($fk.foreignKey)
ON DELETE RESTRICT ON UPDATE RESTRICT;
#end
#end
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]