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]

Reply via email to