Class GeneratedColumnChange
- java.lang.Object
- 
- liquibase.AbstractExtensibleObject
- 
- liquibase.plugin.AbstractPlugin
- 
- liquibase.change.AbstractChange
- 
- org.keycloak.models.map.storage.jpa.liquibase.extension.GeneratedColumnChange
 
 
 
 
- 
- All Implemented Interfaces:
- Cloneable,- liquibase.change.Change,- liquibase.change.ChangeWithColumns<AddGeneratedColumnConfig>,- liquibase.ExtensibleObject,- liquibase.plugin.Plugin,- liquibase.serializer.LiquibaseSerializable
 
 public class GeneratedColumnChange extends liquibase.change.AbstractChange implements liquibase.change.ChangeWithColumns<AddGeneratedColumnConfig> Extension used to add generated column to the table. Value is either generated from a property of a JSON file stored in one of the table's columns or from hash value of existing column. Example configuration in the changelog:<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd"> <changeSet author="keycloak" id="some_id"> ... <ext:addGeneratedColumn tableName="test"> <ext:column name="new_column" type="VARCHAR(36)" jsonColumn="metadata" jsonProperty="alias"/> </ext:addGeneratedColumn> </changeSet>The above configuration is adding a new column, namednew_column, whose values are generated from thealiasproperty of the JSON file stored in columnmetadata. If, for example, a particular entry in the table contains the JSON{"name":"duke","alias":"jduke"}in columnmetadata, the value generated for the new column will bejduke. The configuration below adds new generated column namednew_columnwith value being a hash of a columncolumn. For more information about the type seeKeycloakHashDataType.<changeSet author="keycloak" id="some_id"> ... <ext:addGeneratedColumn tableName="test"> <ext:column name="new_column" type="kc_hash" hashOf="column"/> </ext:addGeneratedColumn> </changeSet>- Author:
- Stefan Guilhen
 
- 
- 
Constructor SummaryConstructors Constructor Description GeneratedColumnChange()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddColumn(AddGeneratedColumnConfig column)liquibase.change.ChangeStatuscheckStatus(liquibase.database.Database database)protected liquibase.change.Change[]createInverses()liquibase.statement.SqlStatement[]generateStatements(liquibase.database.Database database)StringgetCatalogName()List<AddGeneratedColumnConfig>getColumns()StringgetConfirmationMessage()StringgetSchemaName()StringgetSerializedObjectNamespace()StringgetTableName()voidsetCatalogName(String catalogName)voidsetColumns(List<AddGeneratedColumnConfig> columns)voidsetSchemaName(String schemaName)voidsetTableName(String tableName)liquibase.exception.ValidationErrorsvalidate(liquibase.database.Database database)- 
Methods inherited from class liquibase.change.AbstractChangecreateChangeMetaData, createChangeParameterMetadata, createDescriptionMetaData, createEmptyColumnConfig, createExampleValueMetaData, createMustEqualExistingMetaData, createRequiredDatabasesMetaData, createSerializationTypeMetaData, createSinceMetaData, createSupportedDatabasesMetaData, customLoadLogic, finishInitialization, generateCheckSum, generateRollbackStatements, generateRollbackStatementsVolatile, generateStatementsVolatile, getAffectedDatabaseObjects, getChangeSet, getDescription, getResourceAccessor, getSerializableFieldNamespace, getSerializableFields, getSerializableFieldType, getSerializableFieldValue, getSerializedObjectName, isInvalidProperty, load, serialize, serializeValue, setChangeSet, setResourceAccessor, supports, supportsRollback, toString, warn
 - 
Methods inherited from class liquibase.AbstractExtensibleObjectclone, describe, equals, get, get, get, getAttributes, getFieldValue, getObjectMetaData, getValuePath, has, hashCode, set
 
- 
 
- 
- 
- 
Method Detail- 
getCatalogNamepublic String getCatalogName() 
 - 
setCatalogNamepublic void setCatalogName(String catalogName) 
 - 
getSchemaNamepublic String getSchemaName() 
 - 
setSchemaNamepublic void setSchemaName(String schemaName) 
 - 
getTableNamepublic String getTableName() 
 - 
setTableNamepublic void setTableName(String tableName) 
 - 
addColumnpublic void addColumn(AddGeneratedColumnConfig column) - Specified by:
- addColumnin interface- liquibase.change.ChangeWithColumns<AddGeneratedColumnConfig>
 
 - 
getColumnspublic List<AddGeneratedColumnConfig> getColumns() - Specified by:
- getColumnsin interface- liquibase.change.ChangeWithColumns<AddGeneratedColumnConfig>
 
 - 
setColumnspublic void setColumns(List<AddGeneratedColumnConfig> columns) - Specified by:
- setColumnsin interface- liquibase.change.ChangeWithColumns<AddGeneratedColumnConfig>
 
 - 
generateStatementspublic liquibase.statement.SqlStatement[] generateStatements(liquibase.database.Database database) - Specified by:
- generateStatementsin interface- liquibase.change.Change
 
 - 
createInversesprotected liquibase.change.Change[] createInverses() - Overrides:
- createInversesin class- liquibase.change.AbstractChange
 
 - 
checkStatuspublic liquibase.change.ChangeStatus checkStatus(liquibase.database.Database database) - Specified by:
- checkStatusin interface- liquibase.change.Change
- Overrides:
- checkStatusin class- liquibase.change.AbstractChange
 
 - 
getConfirmationMessagepublic String getConfirmationMessage() - Specified by:
- getConfirmationMessagein interface- liquibase.change.Change
 
 - 
getSerializedObjectNamespacepublic String getSerializedObjectNamespace() - Specified by:
- getSerializedObjectNamespacein interface- liquibase.serializer.LiquibaseSerializable
- Overrides:
- getSerializedObjectNamespacein class- liquibase.change.AbstractChange
 
 - 
validatepublic liquibase.exception.ValidationErrors validate(liquibase.database.Database database) - Specified by:
- validatein interface- liquibase.change.Change
- Overrides:
- validatein class- liquibase.change.AbstractChange
 
 
- 
 
-