Class CreateJsonIndexChange
- java.lang.Object
- 
- liquibase.AbstractExtensibleObject
- 
- liquibase.plugin.AbstractPlugin
- 
- liquibase.change.AbstractChange
- 
- org.keycloak.models.map.storage.jpa.liquibase.extension.CreateJsonIndexChange
 
 
 
 
- 
- All Implemented Interfaces:
- Cloneable,- liquibase.change.Change,- liquibase.change.ChangeWithColumns<AddGeneratedColumnConfig>,- liquibase.ExtensibleObject,- liquibase.plugin.Plugin,- liquibase.serializer.LiquibaseSerializable
 
 public class CreateJsonIndexChange extends liquibase.change.AbstractChange implements liquibase.change.ChangeWithColumns<AddGeneratedColumnConfig> Extension used to create an index for properties of JSON files stored in the database. Some databases, likePostgres, have native support for these indexes while other databases may require different constructs to achieve this (like creation of a separate column based on the JSON property and subsequent indexing of that 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:createJsonIndex tableName="test" indexName="some_index_name"> <ext:column jsonColumn="metadata" jsonProperty="name"/> </ext:createJsonIndex> </changeSet>The above configuration is creating an inverted (GIN) index for thenameproperty of JSON files stored in columnmetadatain tabletest. ThejsonPropertyis optional - when it is absent the index will be created for the whole JSON.- Author:
- Stefan Guilhen
 
- 
- 
Constructor SummaryConstructors Constructor Description CreateJsonIndexChange()
 - 
Method Summary- 
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, getSerializedObjectName, isInvalidProperty, load, serialize, serializeValue, setChangeSet, setResourceAccessor, supports, supportsRollback, toString, validate, 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) 
 - 
getIndexNamepublic String getIndexName() 
 - 
setIndexNamepublic void setIndexName(String indexName) 
 - 
getTablespacepublic String getTablespace() 
 - 
setTablespacepublic void setTablespace(String tablespace) 
 - 
isUniquepublic Boolean isUnique() 
 - 
setUniquepublic void setUnique(Boolean isUnique) 
 - 
getAssociatedWithpublic String getAssociatedWith() 
 - 
setAssociatedWithpublic void setAssociatedWith(String associatedWith) 
 - 
getClusteredpublic Boolean getClustered() 
 - 
setClusteredpublic void setClustered(Boolean clustered) 
 - 
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>
 
 - 
getConfirmationMessagepublic String getConfirmationMessage() - Specified by:
- getConfirmationMessagein interface- liquibase.change.Change
 
 - 
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
 
 - 
getSerializedObjectNamespacepublic String getSerializedObjectNamespace() - Specified by:
- getSerializedObjectNamespacein interface- liquibase.serializer.LiquibaseSerializable
- Overrides:
- getSerializedObjectNamespacein class- liquibase.change.AbstractChange
 
 
- 
 
-