2009-09-11 15 views

Odpowiedz

22

Utwórz cel, który uruchamia polecenie „mysqldump” tak:

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

Teraz możesz zrobić zrzut wykonując mrówka zrzutu bazy danych

+0

proszę sprawdzić moje pytanie http://stackoverflow.com/questions/15835076/ant-build-failed- for-mysql – Devendra

2

Możesz użyć zadania Exec, które uruchomi skrypt, który wykona wszystkie czynności niezbędne do zrzutu (lub cokolwiek innego).

8

And importować jakiś plik sql używając mrówki, która jest również przydatna:

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

* zauważ, że poprawne jest -Phasło i nie -p hasło

czyli

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

To również dobre, bo nie korzysta z bibliotekami zewnętrzne/sterowniki sql jak org.gjt.mm.mysql.Driver.

0

Jeśli chcesz uczynić to dane napędzane, spróbuj tego faceta przy użyciu ant zadania 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> 
Powiązane problemy