Я пытаюсь создать задачу ANT, которая принимает некоторые свойства базы данных и выполняет сценарий MYSQL. Для конкретной базы данных она работает нормально, и у меня есть следующее:
Файл настраиваемых свойств:
sql.driver=com.mysql.jdbc.Driver
sql.url=jdbc:mysql://127.0.0.1:3306/
sql.user=admin
sql.pass=admin
И файл сборки build.xml:
<target name="rebuild-database">
<sql driver="${sql.driver}" url="${sql.url}" userid="${sql.user}" password="${sql.pass}">
<transaction src="db/rebuild.sql"/>
<classpath>
<path refid="project.class.path"/>
</classpath>
</sql>
</target>
Теперь это работает отлично. Скрипт sql перестраивает базу данных. Однако я хочу, чтобы это имя базы данных также можно было настраивать. Я знаю, что вы можете добавить имя базы данных после свойства sql.url, но здесь есть уловка, мой файл rebuild.sql должен удалить базу данных, если она существует, и перестроить ее. Это выглядит так:
rebuild.sql
DROP DATABASE IF EXISTS `client_database`;
CREATE DATABASE `client_database`
USE `client_database`;
CREATE TABLE `Customer` (
etc...
Итак, моя проблема в том, что сейчас client_database
жестко задан, но мне нужно, чтобы это было настраиваемое имя в файле свойств. Как мне удалось передать это имя в сценарий sql и выполнить эти 3 первых оператора?