Files
springside4/examples/mini-web/bin/db/build.xml
T
2012-02-23 19:31:54 +08:00

71 lines
2.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<project name="mini-web" default="init-db" xmlns:artifact="antlib:org.apache.maven.artifact.ant" basedir="../../">
<artifact:dependencies pathId="project.lib">
<pom file="pom.xml" />
</artifact:dependencies>
<property file="src/main/resources/application.properties" />
<property name="sql.type" value="h2" />
<property name="dbunit.datatype" value="org.dbunit.ext.h2.H2DataTypeFactory" />
<!--
<property name="sql.type" value="oracle" />
<property name="dbunit.datatype" value="org.dbunit.ext.oracle.Oracle10DataTypeFactory" />
-->
<!--
<property name="sql.type" value="mysql" />
<property name="dbunit.datatype" value="org.dbunit.ext.mysql.MySqlDataTypeFactory" />
-->
<property name="sql.dir" value="src/main/resources/sql/${sql.type}" />
<property name="dbunit.data.dir" value="src/test/resources/data" />
<taskdef name="dbunit" classname="org.dbunit.ant.DbUnitTask" classpathref="project.lib" />
<target name="init-db">
<sql driver="${jdbc.driver}" url="${jdbc.url}" userid="${jdbc.username}" password="${jdbc.password}" src="${sql.dir}/schema.sql" onerror="continue">
<classpath refid="project.lib" />
</sql>
<dbunit driver="${jdbc.driver}" url="${jdbc.url}" userid="${jdbc.username}" password="${jdbc.password}">
<dbconfig>
<property name="datatypeFactory" value="${dbunit.datatype}" />
</dbconfig>
<classpath refid="project.lib" />
<operation type="CLEAN_INSERT" src="${dbunit.data.dir}/sample-data.xml" format="flat" transaction="true"/>
</dbunit>
</target>
<target name="exp-db">
<dbunit driver="${jdbc.driver}" url="${jdbc.url}" userid="${jdbc.username}" password="${jdbc.password}">
<dbconfig>
<property name="datatypeFactory" value="${dbunit.datatype}" />
</dbconfig>
<classpath refid="project.lib" />
<export dest="${dbunit.data.dir}/export-data.xml" format="flat" />
</dbunit>
</target>
<target name="convert.mysql.to.h2" description="convert mysql sql to h2 for testing">
<copy todir="src/main/resources/sql/h2" overwrite="true">
<fileset dir="src/main/resources/sql/mysql">
<include name="**/*.sql" />
</fileset>
</copy>
<replace dir="src/main/resources/sql/h2" includes="**/*.sql" token="ENGINE=InnoDB" value="" />
<replace dir="src/main/resources/sql/h2" includes="**/*.sql" token="ENGINE=MyISAM" value="" />
<replace dir="src/main/resources/sql/h2" includes="**/*.sql" token="bigint not null auto_increment" value="bigint generated by default as identity" />
<replace dir="src/main/resources/sql/h2" includes="**/*.sql" token="drop foreign key" value="drop constraint" />
<replaceregexp byline="true">
<regexp pattern="INDEX (.*)" />
<substitution expression=" " />
<fileset dir="src/main/resources/sql/h2">
<include name="*.sql" />
</fileset>
</replaceregexp>
</target>
</project>