impex:exportschema

Full name:

org.kuali.maven.plugins:maven-impex-plugin:1.1.6:exportschema

Description:

Examines the JDBC metadata of a proprietary database and exports the schema information to database agnostic XML. The generated XML contains information about tables, primary keys, unique constraints, foreign keys, indexes, sequences, and views. This goal does not export any data. See also impex:exportdata and impex:import

Attributes:

  • Requires a Maven project to be executed.
  • Binds by default to the lifecycle phase: generate-sources.

Required Parameters

Name Type Since Description
artifactId String - The Maven artifactId. Included here as a simple property of the mojo itself to facilitate usage of BeanUtils.copyProperties() to copy properties between Mojo's and Ant tasks
Default value is: ${project.artifactId}.
forceMojoExecution boolean - Setting this parameter to true will force the execution of this mojo, even if it would get skipped usually.
Default value is: false.
includeVersionInComment boolean - By default the version of the maven plugin being used during the build will be included as part of a comment in the XML. Set this to false to prevent this. Useful if you are committing files to SCM and don't want a change in the version of the plugin to show up as a change to the data.
Default value is: true.
schemaXMLFile String - The file that the schema XML will get written to
Default value is: ${basedir}/src/main/impex/${project.artifactId}.xml.
url String - The connect URL of the database.

Optional Parameters

Name Type Since Description
antCompatibilityMode boolean - If true, files will be exported in a format that the Ant impex tasks can understand
Default value is: false.
comment String - Additional comment that gets placed into the generated XML document. Anything included here gets appended to the default value
Default value is: Auto-generated by the maven-impex-plugin v1.0.2

driver String - Database driver classname. This parameter is optional, as the correct JDBC driver to use is detected from the url in almost all cases (works for Oracle, MySQL, Derby, PostGresSQL, DB2, H2, HSQL, SQL Server). If a driver is explicitly supplied, it will be used in place of the JDBC driver the automatic detection logic would have chosen.
driverProperties Properties - Additional properties for the JDBC driver
encoding String - The encoding to use when reading/writing files. If not specified this defaults to the platform specific encoding of whatever machine the build is running on.
Default value is: ${project.build.sourceEncoding}.
excludes String - Comma separated list of regular expressions for tables to exclude from the export
includes String - Comma separated list of regular expressions for tables to include in the export
password String - The password for the database user. If not specified this is automatically generated by platform specific logic for converting the artifact id.

For example:
ks-embedded-db becomes KSEMBEDDED for Oracle and ksembedded for MySQL
processSequences boolean - Flag indicating whether or not sequences will be processed. Default is true
Default value is: true.
processTables boolean - Flag indicating whether or not tables will be processed. Default is true
Default value is: true.
processViews boolean - Flag indicating whether or not views will be processed. Default is true
Default value is: true.
schema String - The schema to export. This parameter is optional, as the schema to export is automatically derived from platform specific logic that converts the artifactId.

For example:
ks-embedded-db becomes KSEMBEDDED for Oracle, and ksembedded for MySQL If schema is supplied, the supplied value will be used instead of the value derived from the artifactId
skip boolean - When true, skip the execution of this mojo
Default value is: false.
startMavenLogger boolean - When true, redirect logging from Log4j and Jakarta Commons Logging to the Maven logging system
Default value is: true.
targetDatabase String - The type of database we are targeting (eg oracle, mysql). This is optional if url is supplied as the database type will be automatically detected based on the url. If targetDatabase is explicitly supplied it will override the type selected by the automatic detection logic.
username String - The user name to connect to the database. If not specified this is automatically generated by platform specific logic for converting the artifact id.

For example:
ks-embedded-db becomes KSEMBEDDED for Oracle and ksembedded for MySQL

Parameter Details

antCompatibilityMode:

If true, files will be exported in a format that the Ant impex tasks can understand
  • Type: boolean
  • Required: No
  • Expression: ${antCompatibilityMode}
  • Default: false

artifactId:

The Maven artifactId. Included here as a simple property of the mojo itself to facilitate usage of BeanUtils.copyProperties() to copy properties between Mojo's and Ant tasks
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${artifactId}
  • Default: ${project.artifactId}

comment:

Additional comment that gets placed into the generated XML document. Anything included here gets appended to the default value
Default value is: Auto-generated by the maven-impex-plugin v1.0.2
  • Type: java.lang.String
  • Required: No
  • Expression: ${comment}

driver:

Database driver classname. This parameter is optional, as the correct JDBC driver to use is detected from the url in almost all cases (works for Oracle, MySQL, Derby, PostGresSQL, DB2, H2, HSQL, SQL Server). If a driver is explicitly supplied, it will be used in place of the JDBC driver the automatic detection logic would have chosen.
  • Type: java.lang.String
  • Required: No
  • Expression: ${driver}

driverProperties:

Additional properties for the JDBC driver
  • Type: java.util.Properties
  • Required: No

encoding:

The encoding to use when reading/writing files. If not specified this defaults to the platform specific encoding of whatever machine the build is running on.
  • Type: java.lang.String
  • Required: No
  • Expression: ${encoding}
  • Default: ${project.build.sourceEncoding}

excludes:

Comma separated list of regular expressions for tables to exclude from the export
  • Type: java.lang.String
  • Required: No
  • Expression: ${excludes}

forceMojoExecution:

Setting this parameter to true will force the execution of this mojo, even if it would get skipped usually.
  • Type: boolean
  • Required: Yes
  • Expression: ${forceMojoExecution}
  • Default: false

includeVersionInComment:

By default the version of the maven plugin being used during the build will be included as part of a comment in the XML. Set this to false to prevent this. Useful if you are committing files to SCM and don't want a change in the version of the plugin to show up as a change to the data.
  • Type: boolean
  • Required: Yes
  • Expression: ${includeVersionInComment}
  • Default: true

includes:

Comma separated list of regular expressions for tables to include in the export
  • Type: java.lang.String
  • Required: No
  • Expression: ${includes}

password:

The password for the database user. If not specified this is automatically generated by platform specific logic for converting the artifact id.

For example:
ks-embedded-db becomes KSEMBEDDED for Oracle and ksembedded for MySQL
  • Type: java.lang.String
  • Required: No
  • Expression: ${password}

processSequences:

Flag indicating whether or not sequences will be processed. Default is true
  • Type: boolean
  • Required: No
  • Expression: ${processSequences}
  • Default: true

processTables:

Flag indicating whether or not tables will be processed. Default is true
  • Type: boolean
  • Required: No
  • Expression: ${processTables}
  • Default: true

processViews:

Flag indicating whether or not views will be processed. Default is true
  • Type: boolean
  • Required: No
  • Expression: ${processViews}
  • Default: true

schema:

The schema to export. This parameter is optional, as the schema to export is automatically derived from platform specific logic that converts the artifactId.

For example:
ks-embedded-db becomes KSEMBEDDED for Oracle, and ksembedded for MySQL If schema is supplied, the supplied value will be used instead of the value derived from the artifactId
  • Type: java.lang.String
  • Required: No
  • Expression: ${schema}

schemaXMLFile:

The file that the schema XML will get written to
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${schemaXMLFile}
  • Default: ${basedir}/src/main/impex/${project.artifactId}.xml

skip:

When true, skip the execution of this mojo
  • Type: boolean
  • Required: No
  • Default: false

startMavenLogger:

When true, redirect logging from Log4j and Jakarta Commons Logging to the Maven logging system
  • Type: boolean
  • Required: No
  • Expression: ${startMavenLogger}
  • Default: true

targetDatabase:

The type of database we are targeting (eg oracle, mysql). This is optional if url is supplied as the database type will be automatically detected based on the url. If targetDatabase is explicitly supplied it will override the type selected by the automatic detection logic.
  • Type: java.lang.String
  • Required: No
  • Expression: ${targetDatabase}

url:

The connect URL of the database.
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${url}

username:

The user name to connect to the database. If not specified this is automatically generated by platform specific logic for converting the artifact id.

For example:
ks-embedded-db becomes KSEMBEDDED for Oracle and ksembedded for MySQL
  • Type: java.lang.String
  • Required: No
  • Expression: ${username}