DropAllTables command
---------------------

                 Key: DDLUTILS-180
                 URL: https://issues.apache.org/jira/browse/DDLUTILS-180
             Project: DdlUtils
          Issue Type: New Feature
          Components: Ant Tasks
    Affects Versions: 1.0
         Environment: JDK 1.6.0_02
Win XP
Oracle 10g, SqlServer 2005, Derby
            Reporter: Guy Davis
            Assignee: Thomas Dudziak
             Fix For: 1.0


Adding a command that allows the DDLToDatabase task to drop all the tables in 
the specified database by issuing a bunch of drop table commands.  This is very 
handy for us when we want to quickly clean out a database without dropping the 
entire database itself. 

Example usage:

<target name="db.clean" description="Drops all tables and constraints in the 
target DB.">
    <input addproperty="db.clean.confirm" message="Are you sure you wish to 
drop all tables in this DV_MASTER database: ${db.master.url} 
(${db.master.user}) and in this DV_REFERENCE database: ${db.reference.url} 
(${db.reference.user})? " validargs="y,n" />
    <condition property="db.clean.abort">
      <equals arg1="n" arg2="${db.clean.confirm}" />
    </condition>
    <fail if="db.clean.abort">Database clean aborted by user.</fail>
    <db.clean.macro db.user="${db.master.user}" 
db.password="${db.master.password}" db.type="${db.master.type}" 
db.driver="${db.master.driver}" db.url="${db.master.url}" 
db.schema="${db.master.schema}" db.catalog="${db.master.catalog}" />
    <db.clean.macro db.user="${db.reference.user}" 
db.password="${db.reference.password}" db.type="${db.reference.type}" 
db.driver="${db.reference.driver}" db.url="${db.reference.url}" 
db.schema="${db.reference.schema}" db.catalog="${db.reference.catalog}"/>
  </target>

  <macrodef name="db.clean.macro">
    <attribute name="db.user" description="Database User Name" />
    <attribute name="db.password" description="Database Password" />
    <attribute name="db.type" description="Type of Database" />
    <attribute name="db.driver" description="Classname of JDBC Driver" />
    <attribute name="db.url" description="JDBC connection URL" />
        <attribute name="db.schema" description="JDBC schema pattern" />
        <attribute name="db.catalog" description="JDBC catalog pattern" />
    <sequential>
      <taskdef name="ddl_to_db" classpathref="ddlutils.classpath" 
classname="org.apache.ddlutils.task.DdlToDatabaseTask" />
      <ddl_to_db databaseType="@{db.type}" validateXml="false" 
schemaPattern="@{db.schema}" catalogPattern="@{db.catalog}">
        <database url="@{db.url}" driverClassName="@{db.driver}" 
username="@{db.user}" password="@{db.password}" />
        <dropAllTables />
      </ddl_to_db>
    </sequential>
  </macrodef>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to