.. Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. .. _`DatabaseMetaData Javadoc`: http://download.oracle.com/javase/1.4.2/docs/api/java/sql/DatabaseMetaData.html#getTables(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String[]) .. _`Commons DBCP Javadoc`: http://commons.apache.org/dbcp/api-1.4/index.html DatabaseToDdlTask reference =========================== :Class: ``org.apache.ddlutils.task.DatabaseToDdlTask`` This is the container for sub tasks that operate in the direction database -> file, eg. that create/drop a schema in the database, insert data into the database. They also create DTDs for these data files, and dump the SQL for creating a schema in the database to a file. Attributes ---------- ``catalog`` :Required: no :Allowed: :Default: Depends on the database :Meaning: Specifies the catalog(s) to access. This is only necessary for some databases. The pattern is described in the ``getTables`` method in the `DatabaseMetaData Javadoc`_. The special pattern '%' indicates that every catalog shall be used. ``databaseType`` :Required: no :Allowed: ``axion``, ``cloudscape``, ``db2``, ``derby``, ``firebird``, ``hsqldb``, ``interbase``, ``maxdb``, ``mckoi``, ``mssql``, ``mysql``, ``mysql5``, ``oracle``, ``oracle9``, ``oracle10``, ``postgresql``, ``sapdb``, ``sybase`` :Default: :Meaning: The database type. You should only need to specify this if DdlUtils is not able to derive the setting from the name of the used jdbc driver or the jdbc connection url. If you need to specify this, please post your jdbc driver and connection url combo to the user mailing list so that DdlUtils can be enhanced to support this combo. ``modelName`` :Required: no :Allowed: :Default: :Meaning: Specifies the name of the model, e.g. the value of the name attribute in the XML if the ``writeSchemaToFile`` sub-task is used. If none is given, DdlUtils will use the schema name as returned by the database, or ``default`` if the database returned no schema name. ``schema`` :Required: no :Allowed: :Default: Depends on the database :Meaning: Specifies the table schema(s) to access. This is only necessary for some databases. The pattern is described in the ``getTables`` method in the `DatabaseMetaData Javadoc`_. The special pattern '%' indicates that every table schema shall be used. ``sortForeignKeys`` :Required: no :Allowed: ``true``, ``false`` :Default: ``false`` :Meaning: Whether DdlUtils shall sort (alphabetically) the foreign keys of a table read from a live database or leave them in the order that they are returned by the database. Note that the sort is case sensitive only if delimied identifier mode is on (``useDelimitedSqlIdentifiers`` is set to ``true``). ``tableTypes`` :Required: no :Allowed: :Default: ``TABLE`` :Meaning: Specifies the table types to processed. For details and typical table types see the ``getTables`` method in the `DatabaseMetaData Javadoc`_. By default, only tables of type ``TABLE``, eg. user tables, are processed. ``useDelimitedSqlIdentifiers`` :Required: no :Allowed: ``true``, ``false`` :Default: ``false`` :Meaning: Whether DdlUtils shall use delimited (quoted) identifiers (table names, column names etc.) In most databases, undelimited identifiers will be converted to uppercase by the database, and the case of the identifier is ignored when performing any SQL command. Undelimited identifiers can contain only alphanumerical characters and the underscore. Also, no reserved words can be used as such identifiers. The limitations do not exist for delimited identifiers. However case of the identifier will be important in every SQL command executed against the database. Subelements ----------- ``dataSource`` Specifies the connection to the database. This is basically a ``org.apache.commons.dbcp.BasicDataSource``. See the `Commons DBCP Javadoc`_ for the supported properties. Usually you only need to specify :``url``: The jdbc connection url :``driverClassName``: The fully qualified class name of the jdbc driver (which must be in the classpath that you used to define the DdlToDatabaseTask task) :``username``: The username :``password``: The password Subtasks -------- .. toctree:: :maxdepth: 1 write-dtd-to-file-subtask write-schema-to-file-subtask write-database-schema-sql-to-file-subtask write-data-to-database-subtask write-data-to-file-subtask