(Quick Reference)

dbm-update-sql

Purpose

Writes the SQL that will update the database to the current version to STDOUT or a file.

Description

Generates SQL for all un-run changeSets from the changelog. Executes against the database configured in DataSource.groovy for the current environment (defaults to dev).

This is useful for inspecting the generated SQL before running an update, or to generate SQL which can be tuned before running manually.

Usage:

grails [environment] dbm-update-sql [filename] --contexts=[contexts] --defaultSchema=[defaultSchema] --dataSource=[dataSource]

Required arguments: none .

Optional arguments:

  • filename - The path to the output file to write to. If not specified output is written to the console
  • contexts - A comma-delimited list of context names. If specified, only changesets tagged with one of the context names will be run
  • defaultSchema - The default schema name to use
  • dataSource - if provided will run the script for the specified dataSource. Not needed for the default dataSource.

Note that the contexts, defaultSchema, and dataSource parameter name and value must be quoted if executed in Windows, e.g.
grails dbm-update-sql "--contexts=[contexts]" "--defaultSchema=[defaultSchema]" --dataSource=[dataSource]

For the dataSource parameter if the data source is configured as dataSource_reports in DataSource.groovy the suffix of reports will be used as the parameter value.
--dataSource=reports