2009-09-11 7 views

Antwort

22

Erstellen Sie ein Ziel, das die "mysqldump" Befehl wie folgt lautet:

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

Jetzt können Sie den Dump machen durch ant-Dump-Datenbank

+0

bitte meine Frage prüfen http://stackoverflow.com/questions/15835076/ant-build-failed- für-mysql – Devendra

2

Sie können Exec-Task verwenden, der Ihr Skript startet, das alle Aktionen ausführen wird, die für das Dumping (oder was auch immer) erforderlich sind.

8

Und Ausführung eine SQL-Datei zu importieren mit Ameise, das ist auch nützlich:

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

* beachten Sie, dass die richtige ist Ppassword und nicht -p Kennwort

oder:

<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 ist auch schön, weil es wie org.gjt.mm.mysql.Driver eignet keine externe Libs verwenden/SQL-Treiber.

0

Wenn Sie wollen, machen es Daten getrieben, versuchen Sie diesen Kerl aus der Ameise sql Aufgabe mit:

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