Я не мог найти никакой информации о том, как сбрасывать базу данных MySQL с помощью задачи ant.
Должен ли я создать свою собственную задачу для этого?
ANT script ===generate==> myDataBase.sql
Я не мог найти никакой информации о том, как сбрасывать базу данных MySQL с помощью задачи ant.
Должен ли я создать свою собственную задачу для этого?
ANT script ===generate==> myDataBase.sql
Создайте цель, которая запускает команду "mysqldump" следующим образом:
<target name="dump-database">
<exec executable="mysqldump" output="database-dump.sql">
<arg value="--user=username" />
<arg value="--password=password" />
<arg value="--host=localhost" />
<arg value="--port=3306" />
<arg value="mydatabase" />
</exec>
</target>
Теперь вы можете сделать дамп, выполнив ant dump-database
И импортировать некоторый sql файл с помощью ant, что также полезно:
<exec executable="mysql" failonerror="true" input="file.sql">
<arg value="-u ${user}" />
<arg value="-p${pass}" />
<arg value="-h ${host}" />
<arg value="-P 3306" />
<arg value="-D ${database}" />
</exec>
* обратите внимание, что правильный -ppassword, а не -p пароль
или
<exec executable="mysql" failonerror="true" input="file.sql">
<arg value="--user=${user}" />
<arg value="--password=${pass}" />
<arg value="--host=${host}" />
<arg value="--port=3306" />
<arg value="--database=${database}" />
</exec>
Это также приятно, потому что он не использует внешние драйверы libs/sql, такие как org.gjt.mm.mysql.Driver.
Вы можете использовать задачу Exec, которая запустит ваш script, который выполнит все действия, необходимые для сброса (или что-то еще).
Если вы хотите настроить данные, попробуйте этот парень, используя задачу ant sql:
<macrodef name="sql-retrieve-table-schema">
<attribute name="schema-name"/>
<attribute name="table-name"/>
<attribute name="connection-url"/>
<attribute name="output-file"/>
<sequential>
<sql userid="username" url="@{connection-url}" classpathref="compile.classpath"
password="apassword" driver="com.mysql.jdbc.Driver" print="true" output="@{output-file}"
showheaders="false" showtrailers="false">
SHOW CREATE TABLE @{table-name};
</sql>
</sequential>
</macrodef>