Author: tomdz
Date: Wed Aug 24 12:24:26 2005
New Revision: 239736

URL: http://svn.apache.org/viewcvs?rev=239736&view=rev
Log:
Added ability to specify whether to drop tables first, to the 
writeSchemaToDatabase and writeSchemaSqlToFile subtasks as proposed by 
Christoffer Hammarström (DDLUTILS-5)

Modified:
    
db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteSchemaSqlToFileCommand.java
    
db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteSchemaToDatabaseCommand.java

Modified: 
db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteSchemaSqlToFileCommand.java
URL: 
http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteSchemaSqlToFileCommand.java?rev=239736&r1=239735&r2=239736&view=diff
==============================================================================
--- 
db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteSchemaSqlToFileCommand.java
 (original)
+++ 
db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteSchemaSqlToFileCommand.java
 Wed Aug 24 12:24:26 2005
@@ -37,6 +37,8 @@
     private File _outputFile;

     /** Whether to alter or re-set the database if it already exists */

     private boolean _alterDb = true;

+    /** Whether to drop tables and the associated constraints first */

+    private boolean _dropTablesFirst = true;

 

     /**

      * Sets the file to output the sql to.

@@ -68,6 +70,26 @@
         _alterDb = alterTheDb;

     }

 

+    /**

+     * Determines whether to drop tables and the associated constraints first.

+     * 

+     * @return <code>true</code> if a drop shall be performed first

+     */

+    protected boolean isDropTablesFirst()

+    {

+        return _dropTablesFirst;

+    }

+

+    /**

+     * Specifies whether to drop tables and the associated constraints first.

+     * 

+     * @param doDrops <code>true</code> if a drop shall be performed first

+     */

+    public void setDropTablesFirst(boolean doDrops)

+    {

+        _dropTablesFirst = doDrops;

+    }

+

     /* (non-Javadoc)

      * @see 
org.apache.ddlutils.task.Command#execute(org.apache.tools.ant.Task, 
org.apache.ddlutils.model.Database)

      */

@@ -100,11 +122,11 @@
 

                 Database currentModel = new 
JdbcModelReader(connection).getDatabase();

 

-                platform.getSqlBuilder().alterDatabase(currentModel, model, 
true, true);

+                platform.getSqlBuilder().alterDatabase(currentModel, model, 
_dropTablesFirst, true);

             }

             else

             {

-                platform.getSqlBuilder().createTables(model);

+                platform.getSqlBuilder().createTables(model, _dropTablesFirst);

             }

             writer.close();

             task.log("Written SQL to "+_outputFile.getAbsolutePath(), 
Project.MSG_INFO);


Modified: 
db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteSchemaToDatabaseCommand.java
URL: 
http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteSchemaToDatabaseCommand.java?rev=239736&r1=239735&r2=239736&view=diff
==============================================================================
--- 
db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteSchemaToDatabaseCommand.java
 (original)
+++ 
db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteSchemaToDatabaseCommand.java
 Wed Aug 24 12:24:26 2005
@@ -29,6 +29,8 @@
 {

     /** Whether to alter or re-set the database if it already exists */

     private boolean _alterDb = true;

+    /** Whether to drop tables and the associated constraints first */

+    private boolean _dropTablesFirst = true;

 

     /**

      * Determines whether to alter the database if it already exists, or 
re-set it.

@@ -50,6 +52,26 @@
         _alterDb = alterTheDb;

     }

 

+    /**

+     * Determines whether to drop tables and the associated constraints first.

+     * 

+     * @return <code>true</code> if a drop shall be performed first

+     */

+    protected boolean isDropTablesFirst()

+    {

+        return _dropTablesFirst;

+    }

+

+    /**

+     * Specifies whether to drop tables and the associated constraints first.

+     * 

+     * @param doDrops <code>true</code> if a drop shall be performed first

+     */

+    public void setDropTablesFirst(boolean doDrops)

+    {

+        _dropTablesFirst = doDrops;

+    }

+

     /* (non-Javadoc)

      * @see 
org.apache.ddlutils.task.Command#execute(org.apache.tools.ant.Task, 
org.apache.ddlutils.model.Database)

      */

@@ -66,11 +88,11 @@
         {

             if (isAlterDatabase())

             {

-                platform.alterTables(model, true, true, true);

+                platform.alterTables(model, _dropTablesFirst, true, true);

             }

             else

             {

-                platform.createTables(model, true, true);

+                platform.createTables(model, _dropTablesFirst, true);

             }

 

             task.log("Written schema to database", Project.MSG_INFO);



Reply via email to