2009-09-11 6 views

Répondre

22

Créer une cible qui exécute la commande « mysqldump » comme ceci:

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

Maintenant, vous pouvez faire la décharge en exécutant vidage base de données fourmi

+0

s'il vous plaît vérifier ma question http://stackoverflow.com/questions/15835076/ant-build-failed- pour-mysql – Devendra

2

Vous pouvez utiliser la tâche Exec, qui lancera votre script qui exécutera toutes les actions nécessaires pour le vidage (ou autre).

8

Et importer certains fichier sql en utilisant fourmi, cela est également utile:

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

* Notez que la valeur correcte est -Pmot_de_passe et non mot de passe -p

ou:

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

Il est également agréable car il n'utilise pas libs externes/pilotes sql comme org.gjt.mm.mysql.Driver.

0

Si vous voulez faire guidée par les données, essayez ce gars à l'aide de la tâche sql ant:

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