liquibase.change.core
Class ExecuteShellCommandChange
java.lang.Object
liquibase.change.AbstractChange
liquibase.change.core.ExecuteShellCommandChange
- All Implemented Interfaces:
- Change, LiquibaseSerializable
public class ExecuteShellCommandChange
- extends AbstractChange
Executes a given shell executable.
Methods inherited from class liquibase.change.AbstractChange |
checkStatus, createChangeMetaData, createChangeParameterMetadata, createDescriptionMetaData, createEmptyColumnConfig, createExampleValueMetaData, createInverses, createMustEqualExistingMetaData, createRequiredDatabasesMetaData, createSerializationTypeMetaData, createSinceMetaData, createSupportedDatabasesMetaData, finishInitialization, generateCheckSum, generateRollbackStatements, getAffectedDatabaseObjects, getChangeSet, getDescription, getResourceAccessor, getSerializableFieldNamespace, getSerializableFields, getSerializableFieldType, getSerializableFieldValue, getSerializedObjectName, isInvalidProperty, load, serialize, serializeValue, setChangeSet, setResourceAccessor, supports, supportsRollback |
finalCommandArray
protected List<String> finalCommandArray
ExecuteShellCommandChange
public ExecuteShellCommandChange()
generateStatementsVolatile
public boolean generateStatementsVolatile(Database database)
- Description copied from class:
AbstractChange
- Implementation delegates logic to the
SqlGenerator.generateStatementsIsVolatile(Database)
method on the SqlStatement
objects returned by Change.generateStatements(liquibase.database.Database)
.
If zero or null SqlStatements are returned by generateStatements then this method returns false.
- Specified by:
generateStatementsVolatile
in interface Change
- Overrides:
generateStatementsVolatile
in class AbstractChange
generateRollbackStatementsVolatile
public boolean generateRollbackStatementsVolatile(Database database)
- Description copied from class:
AbstractChange
- Implementation delegates logic to the
SqlGenerator.generateRollbackStatementsIsVolatile(Database)
method on the SqlStatement
objects returned by Change.generateStatements(liquibase.database.Database)
If no or null SqlStatements are returned by generateRollbackStatements then this method returns false.
- Specified by:
generateRollbackStatementsVolatile
in interface Change
- Overrides:
generateRollbackStatementsVolatile
in class AbstractChange
getExecutable
public String getExecutable()
setExecutable
public void setExecutable(String executable)
addArg
public void addArg(String arg)
getArgs
public List<String> getArgs()
setOs
public void setOs(String os)
getOs
public List<String> getOs()
validate
public ValidationErrors validate(Database database)
- Description copied from class:
AbstractChange
- Implementation checks the ChangeParameterMetaData for declared required fields
and also delegates logic to the
SqlGenerator.validate(liquibase.statement.SqlStatement, liquibase.database.Database, liquibase.sqlgenerator.SqlGeneratorChain)
method on the SqlStatement
objects returned by Change.generateStatements(liquibase.database.Database)
.
If no or null SqlStatements are returned by generateStatements then this method returns no errors.
If there are no parameters than this method returns no errors
- Specified by:
validate
in interface Change
- Overrides:
validate
in class AbstractChange
warn
public Warnings warn(Database database)
- Description copied from class:
AbstractChange
- Implementation delegates logic to the
SqlGenerator.warn(liquibase.statement.SqlStatement, liquibase.database.Database, liquibase.sqlgenerator.SqlGeneratorChain)
method on the SqlStatement
objects returned by Change.generateStatements(liquibase.database.Database)
.
If a generated statement is not supported for the given database, no warning will be added since that is a validation error.
If no or null SqlStatements are returned by generateStatements then this method returns no warnings.
- Specified by:
warn
in interface Change
- Overrides:
warn
in class AbstractChange
generateStatements
public SqlStatement[] generateStatements(Database database)
- Description copied from interface:
Change
- Generates the
SqlStatement
objects required to run the change for the given database.
NOTE: This method may be called multiple times throughout the changelog execution process and may be called in documentation generation and other integration points as well.
If this method reads from the current database state or uses any other logic that will be affected by whether previous changeSets have ran or not, you must return true from Change.generateStatementsVolatile(liquibase.database.Database)
.
nonExecutedCleanup
protected void nonExecutedCleanup()
createFinalCommandArray
protected List<String> createFinalCommandArray(Database database)
executeCommand
protected void executeCommand(Database database)
throws Exception
- Throws:
Exception
createProcessBuilder
protected ProcessBuilder createProcessBuilder(Database database)
getConfirmationMessage
public String getConfirmationMessage()
- Description copied from interface:
Change
- Confirmation message to be displayed after the change is executed. Should include relevant configuration settings to make it as helpful as possible.
This method may be called outside the changelog execution process, such as in documentation generation.
getCommandString
protected String getCommandString()
getSerializedObjectNamespace
public String getSerializedObjectNamespace()
- Specified by:
getSerializedObjectNamespace
in interface LiquibaseSerializable
- Overrides:
getSerializedObjectNamespace
in class AbstractChange
customLoadLogic
protected void customLoadLogic(ParsedNode parsedNode,
ResourceAccessor resourceAccessor)
throws ParsedNodeException
- Overrides:
customLoadLogic
in class AbstractChange
- Throws:
ParsedNodeException
toString
public String toString()
- Overrides:
toString
in class AbstractChange
Copyright © 2016 Liquibase.org. All rights reserved.