Nie mogłem znaleźć żadnych informacji o tym, jak zrzucić bazę danych MySQL za pomocą zadania Ant.Jak zrzucić bazę danych MySQL za pomocą ant?
Czy muszę utworzyć własne zadanie, aby to zrobić?
ANT script ===generate==> myDataBase.sql
Nie mogłem znaleźć żadnych informacji o tym, jak zrzucić bazę danych MySQL za pomocą zadania Ant.Jak zrzucić bazę danych MySQL za pomocą ant?
Czy muszę utworzyć własne zadanie, aby to zrobić?
ANT script ===generate==> myDataBase.sql
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
Możesz użyć zadania Exec, które uruchomi skrypt, który wykona wszystkie czynności niezbędne do zrzutu (lub cokolwiek innego).
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.
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>
proszę sprawdzić moje pytanie http://stackoverflow.com/questions/15835076/ant-build-failed- for-mysql – Devendra