parent
3d910bc7b0
commit
4f4dbd622a
20 changed files with 89 additions and 22 deletions
|
@ -20,6 +20,7 @@ import java.util.Map;
|
|||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import javax.persistence.Basic;
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
|
@ -58,6 +59,10 @@ public class JpaAuthenticationSessionEntity extends UpdatableEntity.Impl impleme
|
|||
@Column
|
||||
private int version;
|
||||
|
||||
@Column(insertable = false, updatable = false)
|
||||
@Basic(fetch = FetchType.LAZY)
|
||||
private Integer entityVersion;
|
||||
|
||||
@Type(type = "jsonb")
|
||||
@Column(columnDefinition = "jsonb")
|
||||
private final JpaAuthenticationSessionMetadata metadata;
|
||||
|
@ -77,6 +82,10 @@ public class JpaAuthenticationSessionEntity extends UpdatableEntity.Impl impleme
|
|||
this.metadata = new JpaAuthenticationSessionMetadata(cloner);
|
||||
}
|
||||
|
||||
public boolean isMetadataInitialized() {
|
||||
return metadata != null;
|
||||
}
|
||||
|
||||
public void setParent(JpaRootAuthenticationSessionEntity root) {
|
||||
this.root = root;
|
||||
}
|
||||
|
@ -93,7 +102,8 @@ public class JpaAuthenticationSessionEntity extends UpdatableEntity.Impl impleme
|
|||
|
||||
@Override
|
||||
public Integer getEntityVersion() {
|
||||
return metadata.getEntityVersion();
|
||||
if (isMetadataInitialized()) return metadata.getEntityVersion();
|
||||
return entityVersion;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -73,6 +73,10 @@ public class JpaComponentEntity extends UpdatableEntity.Impl implements MapCompo
|
|||
@Column
|
||||
private int version;
|
||||
|
||||
@Column(insertable = false, updatable = false)
|
||||
@Basic(fetch = FetchType.LAZY)
|
||||
private Integer entityVersion;
|
||||
|
||||
@Column(insertable = false, updatable = false)
|
||||
@Basic(fetch = FetchType.LAZY)
|
||||
private String providerType;
|
||||
|
@ -117,7 +121,8 @@ public class JpaComponentEntity extends UpdatableEntity.Impl implements MapCompo
|
|||
|
||||
@Override
|
||||
public Integer getEntityVersion() {
|
||||
return this.metadata.getEntityVersion();
|
||||
if (isMetadataInitialized()) return this.metadata.getEntityVersion();
|
||||
return entityVersion;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -63,6 +63,10 @@ public class JpaUserConsentEntity extends UpdatableEntity.Impl implements MapUse
|
|||
@Basic(fetch = FetchType.LAZY)
|
||||
private String clientId;
|
||||
|
||||
@Column(insertable = false, updatable = false)
|
||||
@Basic(fetch = FetchType.LAZY)
|
||||
private Integer entityVersion;
|
||||
|
||||
@Type(type = "jsonb")
|
||||
@Column(columnDefinition = "jsonb")
|
||||
private final JpaUserConsentMetadata metadata;
|
||||
|
@ -79,8 +83,13 @@ public class JpaUserConsentEntity extends UpdatableEntity.Impl implements MapUse
|
|||
this.metadata = new JpaUserConsentMetadata(cloner);
|
||||
}
|
||||
|
||||
public boolean isMetadataInitialized() {
|
||||
return metadata != null;
|
||||
}
|
||||
|
||||
public Integer getEntityVersion() {
|
||||
return this.metadata.getEntityVersion();
|
||||
if (isMetadataInitialized()) return this.metadata.getEntityVersion();
|
||||
return entityVersion;
|
||||
}
|
||||
|
||||
public void setEntityVersion(Integer version) {
|
||||
|
@ -98,7 +107,8 @@ public class JpaUserConsentEntity extends UpdatableEntity.Impl implements MapUse
|
|||
|
||||
@Override
|
||||
public String getClientId() {
|
||||
return this.metadata.getClientId();
|
||||
if (isMetadataInitialized()) return this.metadata.getClientId();
|
||||
return clientId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -54,6 +54,10 @@ public class JpaUserFederatedIdentityEntity extends UpdatableEntity.Impl impleme
|
|||
@GeneratedValue
|
||||
private UUID id;
|
||||
|
||||
@Column(insertable = false, updatable = false)
|
||||
@Basic(fetch = FetchType.LAZY)
|
||||
private Integer entityVersion;
|
||||
|
||||
@Column(insertable = false, updatable = false)
|
||||
@Basic(fetch = FetchType.LAZY)
|
||||
private String identityProvider;
|
||||
|
@ -78,8 +82,13 @@ public class JpaUserFederatedIdentityEntity extends UpdatableEntity.Impl impleme
|
|||
this.metadata = new JpaUserFederatedIdentityMetadata(cloner);
|
||||
}
|
||||
|
||||
public boolean isMetadataInitialized() {
|
||||
return metadata != null;
|
||||
}
|
||||
|
||||
public Integer getEntityVersion() {
|
||||
return this.metadata.getEntityVersion();
|
||||
if (isMetadataInitialized()) return this.metadata.getEntityVersion();
|
||||
return entityVersion;
|
||||
}
|
||||
|
||||
public void setEntityVersion(Integer version) {
|
||||
|
@ -107,7 +116,8 @@ public class JpaUserFederatedIdentityEntity extends UpdatableEntity.Impl impleme
|
|||
|
||||
@Override
|
||||
public String getUserId() {
|
||||
return this.metadata.getUserId();
|
||||
if (isMetadataInitialized()) return this.metadata.getUserId();
|
||||
return userId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -117,7 +127,8 @@ public class JpaUserFederatedIdentityEntity extends UpdatableEntity.Impl impleme
|
|||
|
||||
@Override
|
||||
public String getIdentityProvider() {
|
||||
return this.metadata.getIdentityProvider();
|
||||
if (isMetadataInitialized()) return this.metadata.getIdentityProvider();
|
||||
return identityProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -90,13 +90,18 @@ public class JpaClientSessionEntity extends AbstractAuthenticatedClientSessionEn
|
|||
this.metadata = new JpaClientSessionMetadata(cloner);
|
||||
}
|
||||
|
||||
public boolean isMetadataInitialized() {
|
||||
return metadata != null;
|
||||
}
|
||||
|
||||
public void setParent(JpaUserSessionEntity root) {
|
||||
this.root = root;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getEntityVersion() {
|
||||
return metadata.getEntityVersion();
|
||||
if (isMetadataInitialized()) return metadata.getEntityVersion();
|
||||
return entityVersion;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -137,7 +142,8 @@ public class JpaClientSessionEntity extends AbstractAuthenticatedClientSessionEn
|
|||
|
||||
@Override
|
||||
public String getClientId() {
|
||||
return metadata.getClientId();
|
||||
if (isMetadataInitialized()) return metadata.getClientId();
|
||||
return clientId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -67,4 +67,13 @@ limitations under the License.
|
|||
</ext:createJsonIndex>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="keycloak" id="auth-sessions-14161">
|
||||
<ext:addGeneratedColumn tableName="kc_auth_session">
|
||||
<ext:column name="entityversion" type="INTEGER" jsonColumn="metadata" jsonProperty="entityVersion"/>
|
||||
</ext:addGeneratedColumn>
|
||||
<createIndex tableName="kc_auth_session" indexName="auth_session_entityVersion">
|
||||
<column name="entityversion"/>
|
||||
</createIndex>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
|
|
|
@ -22,7 +22,6 @@ limitations under the License.
|
|||
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">
|
||||
|
||||
<!-- format of id of changeSet: authz-permission-${org.keycloak.models.map.storage.jpa.Constants.CURRENT_SCHEMA_VERSION_AUTHZ_PERMISSION} -->
|
||||
<changeSet author="keycloak" id="authz-permission-1">
|
||||
|
||||
<createTable tableName="kc_authz_permission">
|
||||
|
|
|
@ -22,7 +22,6 @@ limitations under the License.
|
|||
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">
|
||||
|
||||
<!-- format of id of changeSet: authz-resource-server-${org.keycloak.models.map.storage.jpa.Constants.CURRENT_SCHEMA_VERSION_AUTHZ_RESOURCE_SERVER} -->
|
||||
<changeSet author="keycloak" id="authz-resource-server-1">
|
||||
|
||||
<createTable tableName="kc_authz_resource_server">
|
||||
|
|
|
@ -22,7 +22,6 @@ limitations under the License.
|
|||
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">
|
||||
|
||||
<!-- format of id of changeSet: authz-scope-${org.keycloak.models.map.storage.jpa.Constants.CURRENT_SCHEMA_VERSION_AUTHZ_SCOPE} -->
|
||||
<changeSet author="keycloak" id="authz-scope-1">
|
||||
|
||||
<createTable tableName="kc_authz_scope">
|
||||
|
|
|
@ -22,7 +22,6 @@ limitations under the License.
|
|||
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">
|
||||
|
||||
<!-- format of id of changeSet: client-scopes-${org.keycloak.models.map.storage.jpa.Constants.CURRENT_SCHEMA_VERSION_CLIENT_SCOPE} -->
|
||||
<changeSet author="keycloak" id="client-scopes-1">
|
||||
|
||||
<createTable tableName="kc_client_scope">
|
||||
|
|
|
@ -22,7 +22,6 @@ limitations under the License.
|
|||
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">
|
||||
|
||||
<!-- format of id of changeSet: clients-${org.keycloak.models.map.storage.jpa.Constants.CURRENT_SCHEMA_VERSION_CLIENT} -->
|
||||
<changeSet author="keycloak" id="clients-1">
|
||||
|
||||
<createTable tableName="kc_client">
|
||||
|
|
|
@ -22,7 +22,6 @@ limitations under the License.
|
|||
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">
|
||||
|
||||
<!-- format of id of changeSet: groups-${org.keycloak.models.map.storage.jpa.Constants.CURRENT_SCHEMA_VERSION_GROUP} -->
|
||||
<changeSet author="keycloak" id="groups-1">
|
||||
|
||||
<createTable tableName="kc_group">
|
||||
|
|
|
@ -18,6 +18,5 @@ limitations under the License.
|
|||
|
||||
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
|
||||
<!-- format of id of changelog file names: jpa-client-scopes-changelog-${org.keycloak.models.map.storage.jpa.Constants.CURRENT_SCHEMA_VERSION_CLIENT_SCOPE}.xml -->
|
||||
<include file="META-INF/client-scopes/jpa-client-scopes-changelog-1.xml"/>
|
||||
</databaseChangeLog>
|
||||
|
|
|
@ -18,6 +18,5 @@ limitations under the License.
|
|||
|
||||
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
|
||||
<!-- format of id of changelog file names: jpa-clients-changelog-${org.keycloak.models.map.storage.jpa.Constants.CURRENT_SCHEMA_VERSION_CLIENT}.xml -->
|
||||
<include file="META-INF/clients/jpa-clients-changelog-1.xml"/>
|
||||
</databaseChangeLog>
|
||||
|
|
|
@ -18,6 +18,5 @@ limitations under the License.
|
|||
|
||||
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
|
||||
<!-- format of id of changelog file names: jpa-groups-changelog-${org.keycloak.models.map.storage.jpa.Constants.CURRENT_SCHEMA_VERSION_GROUP.xml -->
|
||||
<include file="META-INF/groups/jpa-groups-changelog-1.xml"/>
|
||||
</databaseChangeLog>
|
||||
|
|
|
@ -18,6 +18,5 @@ limitations under the License.
|
|||
|
||||
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
|
||||
<!-- format of id of changelog file names: jpa-roles-changelog-${org.keycloak.models.map.storage.jpa.Constants.CURRENT_SCHEMA_VERSION_ROLE}.xml -->
|
||||
<include file="META-INF/roles/jpa-roles-changelog-1.xml"/>
|
||||
</databaseChangeLog>
|
||||
|
|
|
@ -18,6 +18,5 @@ limitations under the License.
|
|||
|
||||
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
|
||||
<!-- format of id of changelog file names: jpa-single-use-objects-changelog-${org.keycloak.models.map.storage.jpa.Constants.CURRENT_SCHEMA_VERSION_SINGLE_USE_OBJECT}.xml -->
|
||||
<include file="META-INF/single-use-objects/jpa-single-use-objects-changelog-1.xml"/>
|
||||
</databaseChangeLog>
|
||||
|
|
|
@ -18,6 +18,5 @@ limitations under the License.
|
|||
|
||||
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
|
||||
<!-- format of id of changelog file names: jpa-user-login-failures-changelog-${org.keycloak.models.map.storage.jpa.Constants.CURRENT_SCHEMA_VERSION_USER_LOGIN_FAILURE}.xml -->
|
||||
<include file="META-INF/user-login-failures/jpa-user-login-failures-changelog-1.xml"/>
|
||||
</databaseChangeLog>
|
||||
|
|
|
@ -101,4 +101,13 @@ limitations under the License.
|
|||
<addUniqueConstraint tableName="kc_realm_attribute" columnNames="fk_root, name, value" deferrable="true" initiallyDeferred="true" />
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="keycloak" id="realms-14161">
|
||||
<ext:addGeneratedColumn tableName="kc_component">
|
||||
<ext:column name="entityversion" type="INTEGER" jsonColumn="metadata" jsonProperty="entityVersion"/>
|
||||
</ext:addGeneratedColumn>
|
||||
<createIndex tableName="kc_component" indexName="component_entityVersion">
|
||||
<column name="entityversion"/>
|
||||
</createIndex>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
|
|
|
@ -177,4 +177,23 @@ limitations under the License.
|
|||
<addUniqueConstraint tableName="kc_user_role" columnNames="user_id, role_id" deferrable="true" initiallyDeferred="true" />
|
||||
<addUniqueConstraint tableName="kc_user_attribute" columnNames="fk_root, name, value" deferrable="true" initiallyDeferred="true" />
|
||||
</changeSet>
|
||||
</databaseChangeLog>
|
||||
|
||||
<changeSet author="keycloak" id="users-14161">
|
||||
|
||||
<ext:addGeneratedColumn tableName="kc_user_consent">
|
||||
<ext:column name="entityversion" type="INTEGER" jsonColumn="metadata" jsonProperty="entityVersion"/>
|
||||
</ext:addGeneratedColumn>
|
||||
<createIndex tableName="kc_user_consent" indexName="user_consent_entityVersion">
|
||||
<column name="entityversion"/>
|
||||
</createIndex>
|
||||
|
||||
<ext:addGeneratedColumn tableName="kc_user_federated_identity">
|
||||
<ext:column name="entityversion" type="INTEGER" jsonColumn="metadata" jsonProperty="entityVersion"/>
|
||||
</ext:addGeneratedColumn>
|
||||
<createIndex tableName="kc_user_federated_identity" indexName="user_federated_identity_entityVersion">
|
||||
<column name="entityversion"/>
|
||||
</createIndex>
|
||||
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
|
|
Loading…
Reference in a new issue