71 lines
2.8 KiB
XML
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>
|