如何指示Nant告诉MySql从特定位置运行ddl脚本,然后按照指示运行其他脚本?
谷歌让我many sites,但遗憾的是这不起作用......
答案 0 :(得分:6)
我使用一个nant脚本从存储在“procedures”文件夹中的文件重新创建mysql存储过程。我的Nant目标看起来像:
<target name="migrate-storeds" description="Creates stored procedures">
<echo message="Creating Stored Procedures"/>
<foreach item="File" property="filename">
<in>
<items>
<include name="procedures\*.sql"></include>
</items>
</in>
<do>
<echo message="filename ${filename}"/>
<exec program="${mysql.path}\mysql"
workingdir="."
failonerror="true"
commandline='--host=${database.server} --user=${database.user} --password=${database.pwd} ${database.name} -e "source ${filename}"'/>
</do>
</foreach>
<echo message="Procedures created succesfully"/>
</target>
答案 1 :(得分:2)
您应该能够使用NAntContrib项目中的the <sql>
task对MySql运行脚本ddl。 <sql>
需要OLEDB连接,as far as I can tell MySql支持此功能。