build.gradle
----
repositories {
mavenCentral()
maven { url = "https://repo.grails.org/grails/core/" }
}
dependencies {
classpath "org.grails.plugins:hibernate5:8.1.2"
}
----
Purpose
The schema-export
command uses Hibernate’s SchemaExport tool to generate Data Definition Language (DDL) or export the schema. You need to add it to the build classpath for this command to work properly.
Examples
$ ./gradlew runCommand -Pargs="schema-export"
$ ./gradlew runCommand -Pargs="schema-export --datasource=lookup"
$ ./gradlew -Dgrails.env=prod runCommand -Pargs="schema-export"
$ ./gradlew -Dgrails.env=dev runCommand -Pargs="schema-export"
$ ./gradlew -Dgrails.env=prod runCommand -Pargs="schema-export export"
$ ./gradlew -Dgrails.env=prod runCommand -Pargs="schema-export export --datasource=auditing"
$ ./gradlew -Dgrails.env=prod runCommand -Pargs="schema-export stdout"
Description
Usage:
$ ./gradlew -Dgrails.env=<<environment>> runCommand -Pargs="schema-export <<action>> ['stdout'] <<filename>> [--datasource]"
Arguments:
-
environment
- The environment containing the database configuration to use (e.g., dev, prod). -
action
- Can be either 'generate' or 'export', with the default being 'generate'. Specifying 'export' will execute the script against the specified environment’s database instead of just generating the DDL file. -
stdout
- Including 'stdout' will cause the script to output the DDL to the standard output (stdout). -
filename
- Specifies the name of the file to write the DDL to, with the default being 'ddl.sql' in the project’s 'build' directory. -
datasource
- TheDataSource
name suffix; defaults to the defaultDataSource
if not specified.