2009-09-11 14 views

Respuesta

22

Crear un destino que se ejecuta el comando "mysqldump" de esta manera:

<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> 

Ahora usted puede hacer el volcado mediante la ejecución de hormiga volcado de base de datos

+0

consulte mi pregunta http://stackoverflow.com/questions/15835076/ant-build-failed- para-mysql – Devendra

2

Puede utilizar la tarea Exec, que comenzará su secuencia de comandos que llevará a cabo todas las acciones necesarias para el dumping (o lo que sea).

8

Y importar algún archivo sql usando hormiga, que también es útil:

<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> 

* tenga en cuenta que la correcta es ppassword y no -p contraseña

o:

<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> 

Es también muy agradable, ya que no utiliza bibliotecas externas/drivers SQL como org.gjt.mm.mysql.Driver.

0

Si quieres que sea impulsado por los datos, pruebe a este tipo mediante la tarea SQL hormiga:

<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> 
Cuestiones relacionadas