This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch 4_0_X
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/4_0_X by this push:
new 142a54f49f [SYNCOPE-1915] Persistence Storage Upgrader: separate JPA
schema definition per DBMS
142a54f49f is described below
commit 142a54f49f35269c4becca4458d09ab2389d6a4b
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Tue Sep 23 14:23:18 2025 +0200
[SYNCOPE-1915] Persistence Storage Upgrader: separate JPA schema definition
per DBMS
---
.../jpa/upgrade/PersistenceUpgraderContext.java | 5 +-
.../main/resources/application-mariadb.properties | 1 +
.../main/resources/application-mysql.properties | 1 +
.../main/resources/application-oracle.properties | 1 +
.../src/main/resources/application.properties | 1 +
.../resources/{schema.xml => schema-mariadb.xml} | 53 ++++++++++------------
.../resources/{schema.xml => schema-mysql.xml} | 25 +++++-----
.../resources/{schema.xml => schema-oracle.xml} | 41 ++++++++---------
.../{schema.xml => schema-postgresql.xml} | 51 ++++++++++-----------
.../jpa/upgrade/GenerateUpgradeSQLTest.java | 3 ++
10 files changed, 89 insertions(+), 93 deletions(-)
diff --git
a/core/persistence-jpa-upgrader/src/main/java/org/apache/syncope/core/persistence/jpa/upgrade/PersistenceUpgraderContext.java
b/core/persistence-jpa-upgrader/src/main/java/org/apache/syncope/core/persistence/jpa/upgrade/PersistenceUpgraderContext.java
index a5459682cc..2afacc715e 100644
---
a/core/persistence-jpa-upgrader/src/main/java/org/apache/syncope/core/persistence/jpa/upgrade/PersistenceUpgraderContext.java
+++
b/core/persistence-jpa-upgrader/src/main/java/org/apache/syncope/core/persistence/jpa/upgrade/PersistenceUpgraderContext.java
@@ -50,7 +50,8 @@ public class PersistenceUpgraderContext {
public JDBCConfiguration jdbcConf(
final DataSource syncopeDataSource,
final @Value("${db.jdbcDriverClassName}") String jdbcDriver,
- final @Value("${db.dictionary}") String dbDictionary) {
+ final @Value("${db.dictionary}") String dbDictionary,
+ final @Value("${db.schema}") String dbSchema) {
JDBCConfiguration jdbcConf = new JDBCConfigurationImpl();
jdbcConf.setConnection2DriverName(jdbcDriver);
@@ -59,7 +60,7 @@ public class PersistenceUpgraderContext {
FileSchemaFactory schemaFactory = new FileSchemaFactory();
schemaFactory.setConfiguration(jdbcConf);
- schemaFactory.setFile("schema.xml");
+ schemaFactory.setFile(dbSchema);
jdbcConf.setSchemaFactory(schemaFactory);
return jdbcConf;
diff --git
a/core/persistence-jpa-upgrader/src/main/resources/application-mariadb.properties
b/core/persistence-jpa-upgrader/src/main/resources/application-mariadb.properties
index 0e5e1ba7d0..64f36708df 100644
---
a/core/persistence-jpa-upgrader/src/main/resources/application-mariadb.properties
+++
b/core/persistence-jpa-upgrader/src/main/resources/application-mariadb.properties
@@ -17,3 +17,4 @@
db.jdbcDriverClassName=org.mariadb.jdbc.Driver
db.dictionary=org.apache.openjpa.jdbc.sql.MariaDBDictionary(blobTypeName=LONGBLOB,dateFractionDigits=3)
+db.schema=schema-mariadb.xml
diff --git
a/core/persistence-jpa-upgrader/src/main/resources/application-mysql.properties
b/core/persistence-jpa-upgrader/src/main/resources/application-mysql.properties
index 7cca3b151d..ce9d7f90d7 100644
---
a/core/persistence-jpa-upgrader/src/main/resources/application-mysql.properties
+++
b/core/persistence-jpa-upgrader/src/main/resources/application-mysql.properties
@@ -17,3 +17,4 @@
db.jdbcDriverClassName=com.mysql.cj.jdbc.Driver
db.dictionary=org.apache.openjpa.jdbc.sql.MySQLDictionary(blobTypeName=LONGBLOB,dateFractionDigits=3,useSetStringForClobs=true)
+db.schema=schema-mysql.xml
diff --git
a/core/persistence-jpa-upgrader/src/main/resources/application-oracle.properties
b/core/persistence-jpa-upgrader/src/main/resources/application-oracle.properties
index d34743b22b..dea7abbcdd 100644
---
a/core/persistence-jpa-upgrader/src/main/resources/application-oracle.properties
+++
b/core/persistence-jpa-upgrader/src/main/resources/application-oracle.properties
@@ -17,3 +17,4 @@
db.jdbcDriverClassName=oracle.jdbc.OracleDriver
db.dictionary=org.apache.openjpa.jdbc.sql.OracleDictionary
+db.schema=schema-oracle.xml
diff --git
a/core/persistence-jpa-upgrader/src/main/resources/application.properties
b/core/persistence-jpa-upgrader/src/main/resources/application.properties
index 3d29bff8f2..ca8ecc0946 100644
--- a/core/persistence-jpa-upgrader/src/main/resources/application.properties
+++ b/core/persistence-jpa-upgrader/src/main/resources/application.properties
@@ -20,3 +20,4 @@ db.dictionary=org.apache.openjpa.jdbc.sql.PostgresDictionary
db.jdbcURL=${SYNCOPE_DB_URL}
db.username=${SYNCOPE_DB_USER}
db.password=${SYNCOPE_DB_PASSWORD}
+db.schema=schema-postgresql.xml
diff --git a/core/persistence-jpa-upgrader/src/main/resources/schema.xml
b/core/persistence-jpa-upgrader/src/main/resources/schema-mariadb.xml
similarity index 99%
copy from core/persistence-jpa-upgrader/src/main/resources/schema.xml
copy to core/persistence-jpa-upgrader/src/main/resources/schema-mariadb.xml
index d50923beb7..71dd1d8f33 100644
--- a/core/persistence-jpa-upgrader/src/main/resources/schema.xml
+++ b/core/persistence-jpa-upgrader/src/main/resources/schema-mariadb.xml
@@ -37,8 +37,8 @@ under the License.
<column name="group_id" type="varchar" size="36"/>
<fk to-table="AnyObject" column="anyObject_id"/>
<fk to-table="SyncopeGroup" column="group_id"/>
- <index name="I_MMBRSHP_LEFTEND" column="anyObject_id"/>
- <index name="I_MMBRSHP_RIGHTEND" column="group_id"/>
+ <index name="I_MMBRSHP_LEFTEND1" column="anyObject_id"/>
+ <index name="I_MMBRSHP_RIGHTEND1" column="group_id"/>
</table>
<table name="ARelationship">
<pk column="id"/>
@@ -49,10 +49,10 @@ under the License.
<fk to-table="AnyObject" column="left_anyObject_id"/>
<fk to-table="AnyObject" column="right_anyObject_id"/>
<fk to-table="RelationshipType" column="TYPE_ID"/>
- <index name="I_RLTNSHP_LEFTEND" column="left_anyObject_id"/>
- <index name="I_RLTNSHP_RIGHTEND" column="right_anyObject_id"/>
- <index name="I_RLTNSHP_TYPE" column="TYPE_ID"/>
- <unique name="U_RLTNSHP_TYPE_ID">
+ <index name="I_RLTNSHP_LEFTEND1" column="left_anyObject_id"/>
+ <index name="I_RLTNSHP_RIGHTEND1" column="right_anyObject_id"/>
+ <index name="I_RLTNSHP_TYPE1" column="TYPE_ID"/>
+ <unique name="U_RLTNSHP_TYPE_ID1">
<on column="TYPE_ID"/>
<on column="left_anyObject_id"/>
<on column="right_anyObject_id"/>
@@ -158,10 +158,10 @@ under the License.
<pk column="id"/>
<column name="id" type="varchar" not-null="true" size="36"/>
<column name="template" type="clob" size="-1"/>
- <column name="LIVESYNCTASK_ID" type="varchar" size="36"/>
<column name="ANYTYPE_ID" type="varchar" size="255"/>
- <fk to-table="LiveSyncTask" column="LIVESYNCTASK_ID"/>
+ <column name="LIVESYNCTASK_ID" type="varchar" size="36"/>
<fk to-table="AnyType" column="ANYTYPE_ID"/>
+ <fk to-table="LiveSyncTask" column="LIVESYNCTASK_ID"/>
<index name="I_NYTMTSK_ANYTYPE1" column="ANYTYPE_ID"/>
<index name="I_NYTMTSK_LIVESYNCTASK" column="LIVESYNCTASK_ID"/>
<unique name="U_NYTMTSK_LIVESYNCTASK_ID">
@@ -173,10 +173,10 @@ under the License.
<pk column="id"/>
<column name="id" type="varchar" not-null="true" size="36"/>
<column name="template" type="clob" size="-1"/>
- <column name="ANYTYPE_ID" type="varchar" size="255"/>
<column name="PULLTASK_ID" type="varchar" size="36"/>
- <fk to-table="AnyType" column="ANYTYPE_ID"/>
+ <column name="ANYTYPE_ID" type="varchar" size="255"/>
<fk to-table="PullTask" column="PULLTASK_ID"/>
+ <fk to-table="AnyType" column="ANYTYPE_ID"/>
<index name="I_NYTMTSK_ANYTYPE" column="ANYTYPE_ID"/>
<index name="I_NYTMTSK_PULLTASK" column="PULLTASK_ID"/>
<unique name="U_NYTMTSK_PULLTASK_ID">
@@ -442,13 +442,14 @@ under the License.
</table>
<table name="FormPropertyDef">
<pk column="id"/>
- <column name="id" type="varchar" not-null="true" size="255"/>
+ <column name="id" type="varchar" not-null="true" size="36"/>
<column name="datePattern" type="varchar" size="255"/>
<column name="dropdownFreeForm" type="bit"/>
<column name="dropdownSingleSelection" type="bit"/>
<column name="enumValues" type="clob" size="-1"/>
<column name="idx" type="integer"/>
<column name="labels" type="clob" size="-1"/>
+ <column name="mimeType" type="varchar" size="255"/>
<column name="name" type="varchar" size="255"/>
<column name="readable" type="bit"/>
<column name="required" type="bit"/>
@@ -539,7 +540,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="concurrentSettings" type="clob" size="-1"/>
<column name="matchingRule" type="varchar" size="20"/>
<column name="performCreate" type="bit"/>
@@ -595,7 +595,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="continueOnError" type="bit"/>
<column name="saveExecs" type="bit"/>
<column name="JOBDELEGATE_ID" type="varchar" size="255"/>
@@ -845,7 +844,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="concurrentSettings" type="clob" size="-1"/>
<column name="matchingRule" type="varchar" size="20"/>
<column name="performCreate" type="bit"/>
@@ -923,7 +921,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="concurrentSettings" type="clob" size="-1"/>
<column name="matchingRule" type="varchar" size="20"/>
<column name="performCreate" type="bit"/>
@@ -1109,6 +1106,7 @@ under the License.
<column name="encKeyAlg" type="clob" size="-1"/>
<column name="encryptionOptional" type="bit"/>
<column name="entityId" type="varchar" not-null="true" size="255"/>
+ <column name="idp" type="varchar" size="255"/>
<column name="metadataLocation" type="varchar" not-null="true"
size="255"/>
<column name="metadataSignatureLocation" type="varchar"
size="255"/>
<column name="nameIdQualifier" type="varchar" size="255"/>
@@ -1162,7 +1160,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="JOBDELEGATE_ID" type="varchar" size="255"/>
<fk to-table="Implementation" column="JOBDELEGATE_ID"/>
<index name="I_SCHDTSK_JOBDELEGATE" column="JOBDELEGATE_ID"/>
@@ -1180,8 +1177,8 @@ under the License.
<fk to-table="SchedTask" column="TASK_ID"/>
<fk to-table="PullTask" column="TASK_ID"/>
<fk to-table="MacroTask" column="TASK_ID"/>
- <fk to-table="LiveSyncTask" column="TASK_ID"/>
<fk to-table="PushTask" column="TASK_ID"/>
+ <fk to-table="LiveSyncTask" column="TASK_ID"/>
<index name="I_SCHDKXC_TASK" column="TASK_ID"/>
</table>
<table name="SecurityQuestion">
@@ -1229,7 +1226,7 @@ under the License.
<column name="anyTypeClass_id" type="varchar" size="255"/>
<fk to-table="SyncopeGroup" column="group_id"/>
<fk to-table="AnyTypeClass" column="anyTypeClass_id"/>
- <index name="I_SYNCLSS_ELEMENT" column="anyTypeClass_id"/>
+ <index name="I_SYNCLSS_ELEMENT1" column="anyTypeClass_id"/>
<index name="I_SYNCLSS_GROUP_ID" column="group_id"/>
<unique name="U_SYNCLSS_GROUP_ID">
<on column="group_id"/>
@@ -1241,7 +1238,7 @@ under the License.
<column name="resource_id" type="varchar" size="255"/>
<fk to-table="SyncopeGroup" column="group_id"/>
<fk to-table="ExternalResource" column="resource_id"/>
- <index name="I_SYNCSRC_ELEMENT" column="resource_id"/>
+ <index name="I_SYNCSRC_ELEMENT1" column="resource_id"/>
<index name="I_SYNCSRC_GROUP_ID" column="group_id"/>
<unique name="U_SYNCSRC_GROUP_ID">
<on column="group_id"/>
@@ -1320,7 +1317,7 @@ under the License.
<column name="anyTypeClass_id" type="varchar" size="255"/>
<fk to-table="SyncopeUser" column="user_id"/>
<fk to-table="AnyTypeClass" column="anyTypeClass_id"/>
- <index name="I_SYNCLSS_ELEMENT1" column="anyTypeClass_id"/>
+ <index name="I_SYNCLSS_ELEMENT" column="anyTypeClass_id"/>
<index name="I_SYNCLSS_USER_ID" column="user_id"/>
<unique name="U_SYNCLSS_USER_ID">
<on column="user_id"/>
@@ -1332,7 +1329,7 @@ under the License.
<column name="resource_id" type="varchar" size="255"/>
<fk to-table="SyncopeUser" column="user_id"/>
<fk to-table="ExternalResource" column="resource_id"/>
- <index name="I_SYNCSRC_ELEMENT1" column="resource_id"/>
+ <index name="I_SYNCSRC_ELEMENT" column="resource_id"/>
<index name="I_SYNCSRC_USER_ID" column="user_id"/>
<unique name="U_SYNCSRC_USER_ID">
<on column="user_id"/>
@@ -1398,8 +1395,8 @@ under the License.
<column name="group_id" type="varchar" size="36"/>
<fk to-table="SyncopeUser" column="user_id"/>
<fk to-table="SyncopeGroup" column="group_id"/>
- <index name="I_MMBRSHP_LEFTEND1" column="user_id"/>
- <index name="I_MMBRSHP_RIGHTEND1" column="group_id"/>
+ <index name="I_MMBRSHP_LEFTEND" column="user_id"/>
+ <index name="I_MMBRSHP_RIGHTEND" column="group_id"/>
</table>
<table name="URelationship">
<pk column="id"/>
@@ -1410,10 +1407,10 @@ under the License.
<fk to-table="SyncopeUser" column="user_id"/>
<fk to-table="AnyObject" column="anyObject_id"/>
<fk to-table="RelationshipType" column="TYPE_ID"/>
- <index name="I_RLTNSHP_LEFTEND1" column="user_id"/>
- <index name="I_RLTNSHP_RIGHTEND1" column="anyObject_id"/>
- <index name="I_RLTNSHP_TYPE1" column="TYPE_ID"/>
- <unique name="U_RLTNSHP_TYPE_ID1">
+ <index name="I_RLTNSHP_LEFTEND" column="user_id"/>
+ <index name="I_RLTNSHP_RIGHTEND" column="anyObject_id"/>
+ <index name="I_RLTNSHP_TYPE" column="TYPE_ID"/>
+ <unique name="U_RLTNSHP_TYPE_ID">
<on column="TYPE_ID"/>
<on column="user_id"/>
<on column="anyObject_id"/>
@@ -1425,4 +1422,4 @@ under the License.
<column name="waConfigValues" type="clob" size="-1"/>
</table>
</schema>
-</schemas>
+</schemas>
\ No newline at end of file
diff --git a/core/persistence-jpa-upgrader/src/main/resources/schema.xml
b/core/persistence-jpa-upgrader/src/main/resources/schema-mysql.xml
similarity index 99%
copy from core/persistence-jpa-upgrader/src/main/resources/schema.xml
copy to core/persistence-jpa-upgrader/src/main/resources/schema-mysql.xml
index d50923beb7..c7b0c207fb 100644
--- a/core/persistence-jpa-upgrader/src/main/resources/schema.xml
+++ b/core/persistence-jpa-upgrader/src/main/resources/schema-mysql.xml
@@ -96,10 +96,10 @@ under the License.
<pk column="id"/>
<column name="id" type="varchar" not-null="true" size="36"/>
<column name="anyType_filter" type="clob" size="-1"/>
- <column name="NOTIFICATION_ID" type="varchar" size="36"/>
<column name="ANYTYPE_ID" type="varchar" size="255"/>
- <fk to-table="Notification" column="NOTIFICATION_ID"/>
+ <column name="NOTIFICATION_ID" type="varchar" size="36"/>
<fk to-table="AnyType" column="ANYTYPE_ID"/>
+ <fk to-table="Notification" column="NOTIFICATION_ID"/>
<index name="I_NYABOUT_ANYTYPE" column="ANYTYPE_ID"/>
<index name="I_NYABOUT_NOTIFICATION" column="NOTIFICATION_ID"/>
<unique name="U_NYABOUT_NOTIFICATION_ID">
@@ -162,7 +162,7 @@ under the License.
<column name="ANYTYPE_ID" type="varchar" size="255"/>
<fk to-table="LiveSyncTask" column="LIVESYNCTASK_ID"/>
<fk to-table="AnyType" column="ANYTYPE_ID"/>
- <index name="I_NYTMTSK_ANYTYPE1" column="ANYTYPE_ID"/>
+ <index name="I_NYTMTSK_ANYTYPE" column="ANYTYPE_ID"/>
<index name="I_NYTMTSK_LIVESYNCTASK" column="LIVESYNCTASK_ID"/>
<unique name="U_NYTMTSK_LIVESYNCTASK_ID">
<on column="LIVESYNCTASK_ID"/>
@@ -173,11 +173,11 @@ under the License.
<pk column="id"/>
<column name="id" type="varchar" not-null="true" size="36"/>
<column name="template" type="clob" size="-1"/>
- <column name="ANYTYPE_ID" type="varchar" size="255"/>
<column name="PULLTASK_ID" type="varchar" size="36"/>
- <fk to-table="AnyType" column="ANYTYPE_ID"/>
+ <column name="ANYTYPE_ID" type="varchar" size="255"/>
<fk to-table="PullTask" column="PULLTASK_ID"/>
- <index name="I_NYTMTSK_ANYTYPE" column="ANYTYPE_ID"/>
+ <fk to-table="AnyType" column="ANYTYPE_ID"/>
+ <index name="I_NYTMTSK_ANYTYPE1" column="ANYTYPE_ID"/>
<index name="I_NYTMTSK_PULLTASK" column="PULLTASK_ID"/>
<unique name="U_NYTMTSK_PULLTASK_ID">
<on column="PULLTASK_ID"/>
@@ -442,13 +442,14 @@ under the License.
</table>
<table name="FormPropertyDef">
<pk column="id"/>
- <column name="id" type="varchar" not-null="true" size="255"/>
+ <column name="id" type="varchar" not-null="true" size="36"/>
<column name="datePattern" type="varchar" size="255"/>
<column name="dropdownFreeForm" type="bit"/>
<column name="dropdownSingleSelection" type="bit"/>
<column name="enumValues" type="clob" size="-1"/>
<column name="idx" type="integer"/>
<column name="labels" type="clob" size="-1"/>
+ <column name="mimeType" type="varchar" size="255"/>
<column name="name" type="varchar" size="255"/>
<column name="readable" type="bit"/>
<column name="required" type="bit"/>
@@ -539,7 +540,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="concurrentSettings" type="clob" size="-1"/>
<column name="matchingRule" type="varchar" size="20"/>
<column name="performCreate" type="bit"/>
@@ -595,7 +595,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="continueOnError" type="bit"/>
<column name="saveExecs" type="bit"/>
<column name="JOBDELEGATE_ID" type="varchar" size="255"/>
@@ -845,7 +844,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="concurrentSettings" type="clob" size="-1"/>
<column name="matchingRule" type="varchar" size="20"/>
<column name="performCreate" type="bit"/>
@@ -923,7 +921,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="concurrentSettings" type="clob" size="-1"/>
<column name="matchingRule" type="varchar" size="20"/>
<column name="performCreate" type="bit"/>
@@ -1109,6 +1106,7 @@ under the License.
<column name="encKeyAlg" type="clob" size="-1"/>
<column name="encryptionOptional" type="bit"/>
<column name="entityId" type="varchar" not-null="true" size="255"/>
+ <column name="idp" type="varchar" size="255"/>
<column name="metadataLocation" type="varchar" not-null="true"
size="255"/>
<column name="metadataSignatureLocation" type="varchar"
size="255"/>
<column name="nameIdQualifier" type="varchar" size="255"/>
@@ -1162,7 +1160,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="JOBDELEGATE_ID" type="varchar" size="255"/>
<fk to-table="Implementation" column="JOBDELEGATE_ID"/>
<index name="I_SCHDTSK_JOBDELEGATE" column="JOBDELEGATE_ID"/>
@@ -1178,9 +1175,9 @@ under the License.
<column name="status" type="varchar" size="255"/>
<column name="TASK_ID" type="varchar" size="36"/>
<fk to-table="SchedTask" column="TASK_ID"/>
+ <fk to-table="LiveSyncTask" column="TASK_ID"/>
<fk to-table="PullTask" column="TASK_ID"/>
<fk to-table="MacroTask" column="TASK_ID"/>
- <fk to-table="LiveSyncTask" column="TASK_ID"/>
<fk to-table="PushTask" column="TASK_ID"/>
<index name="I_SCHDKXC_TASK" column="TASK_ID"/>
</table>
@@ -1425,4 +1422,4 @@ under the License.
<column name="waConfigValues" type="clob" size="-1"/>
</table>
</schema>
-</schemas>
+</schemas>
\ No newline at end of file
diff --git a/core/persistence-jpa-upgrader/src/main/resources/schema.xml
b/core/persistence-jpa-upgrader/src/main/resources/schema-oracle.xml
similarity index 98%
copy from core/persistence-jpa-upgrader/src/main/resources/schema.xml
copy to core/persistence-jpa-upgrader/src/main/resources/schema-oracle.xml
index d50923beb7..a31f7074e4 100644
--- a/core/persistence-jpa-upgrader/src/main/resources/schema.xml
+++ b/core/persistence-jpa-upgrader/src/main/resources/schema-oracle.xml
@@ -96,10 +96,10 @@ under the License.
<pk column="id"/>
<column name="id" type="varchar" not-null="true" size="36"/>
<column name="anyType_filter" type="clob" size="-1"/>
- <column name="NOTIFICATION_ID" type="varchar" size="36"/>
<column name="ANYTYPE_ID" type="varchar" size="255"/>
- <fk to-table="Notification" column="NOTIFICATION_ID"/>
+ <column name="NOTIFICATION_ID" type="varchar" size="36"/>
<fk to-table="AnyType" column="ANYTYPE_ID"/>
+ <fk to-table="Notification" column="NOTIFICATION_ID"/>
<index name="I_NYABOUT_ANYTYPE" column="ANYTYPE_ID"/>
<index name="I_NYABOUT_NOTIFICATION" column="NOTIFICATION_ID"/>
<unique name="U_NYABOUT_NOTIFICATION_ID">
@@ -162,7 +162,7 @@ under the License.
<column name="ANYTYPE_ID" type="varchar" size="255"/>
<fk to-table="LiveSyncTask" column="LIVESYNCTASK_ID"/>
<fk to-table="AnyType" column="ANYTYPE_ID"/>
- <index name="I_NYTMTSK_ANYTYPE1" column="ANYTYPE_ID"/>
+ <index name="I_NYTMTSK_ANYTYPE" column="ANYTYPE_ID"/>
<index name="I_NYTMTSK_LIVESYNCTASK" column="LIVESYNCTASK_ID"/>
<unique name="U_NYTMTSK_LIVESYNCTASK_ID">
<on column="LIVESYNCTASK_ID"/>
@@ -173,11 +173,11 @@ under the License.
<pk column="id"/>
<column name="id" type="varchar" not-null="true" size="36"/>
<column name="template" type="clob" size="-1"/>
- <column name="ANYTYPE_ID" type="varchar" size="255"/>
<column name="PULLTASK_ID" type="varchar" size="36"/>
- <fk to-table="AnyType" column="ANYTYPE_ID"/>
+ <column name="ANYTYPE_ID" type="varchar" size="255"/>
<fk to-table="PullTask" column="PULLTASK_ID"/>
- <index name="I_NYTMTSK_ANYTYPE" column="ANYTYPE_ID"/>
+ <fk to-table="AnyType" column="ANYTYPE_ID"/>
+ <index name="I_NYTMTSK_ANYTYPE1" column="ANYTYPE_ID"/>
<index name="I_NYTMTSK_PULLTASK" column="PULLTASK_ID"/>
<unique name="U_NYTMTSK_PULLTASK_ID">
<on column="PULLTASK_ID"/>
@@ -304,7 +304,7 @@ under the License.
<index name="I_CSSPTPP_ATTRRELEASEPOLICY"
column="ATTRRELEASEPOLICY_ID"/>
<index name="I_CSSPTPP_AUTHPOLICY" column="AUTHPOLICY_ID"/>
<index name="I_CSSPTPP_REALM" column="REALM_ID"/>
- <index name="I_CSSPTPP_TICKETEXPIRATIONPOLICY"
column="TICKETEXPIRATIONPOLICY_ID"/>
+ <index name="I_CSSPTPP_TICKETEXPIRATIONPOLI"
column="TICKETEXPIRATIONPOLICY_ID"/>
<unique name="U_CSSPTPP_CLIENTAPPID" column="clientAppId"/>
<unique name="U_CSSPTPP_NAME" column="name"/>
<unique name="U_CSSPTPP_SERVICEID" column="serviceId"/>
@@ -442,13 +442,14 @@ under the License.
</table>
<table name="FormPropertyDef">
<pk column="id"/>
- <column name="id" type="varchar" not-null="true" size="255"/>
+ <column name="id" type="varchar" not-null="true" size="36"/>
<column name="datePattern" type="varchar" size="255"/>
<column name="dropdownFreeForm" type="bit"/>
<column name="dropdownSingleSelection" type="bit"/>
<column name="enumValues" type="clob" size="-1"/>
<column name="idx" type="integer"/>
<column name="labels" type="clob" size="-1"/>
+ <column name="mimeType" type="varchar" size="255"/>
<column name="name" type="varchar" size="255"/>
<column name="readable" type="bit"/>
<column name="required" type="bit"/>
@@ -539,7 +540,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="concurrentSettings" type="clob" size="-1"/>
<column name="matchingRule" type="varchar" size="20"/>
<column name="performCreate" type="bit"/>
@@ -595,7 +595,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="continueOnError" type="bit"/>
<column name="saveExecs" type="bit"/>
<column name="JOBDELEGATE_ID" type="varchar" size="255"/>
@@ -614,10 +613,10 @@ under the License.
<column name="id" type="varchar" not-null="true" size="36"/>
<column name="args" type="clob" size="-1"/>
<column name="idx" type="integer"/>
- <column name="MACROTASK_ID" type="varchar" size="36"/>
<column name="COMMAND_ID" type="varchar" size="255"/>
- <fk to-table="MacroTask" column="MACROTASK_ID"/>
+ <column name="MACROTASK_ID" type="varchar" size="36"/>
<fk to-table="Implementation" column="COMMAND_ID"/>
+ <fk to-table="MacroTask" column="MACROTASK_ID"/>
<index name="I_MCRTMND_COMMAND" column="COMMAND_ID"/>
<index name="I_MCRTMND_MACROTASK" column="MACROTASK_ID"/>
</table>
@@ -735,9 +734,9 @@ under the License.
<column name="subjectType" type="varchar" size="20"/>
<column name="supportedGrantTypes" type="clob" size="-1"/>
<column name="supportedResponseTypes" type="clob" size="-1"/>
- <column name="tokenEndpointAuthenticationMethod" type="varchar"
size="20"/>
+ <column name="TOKENENDPOINTAUTHENTICATIONMET" type="varchar"
size="20"/>
<column name="userInfoEncryptedResponseAlg" type="varchar"
size="20"/>
- <column name="userInfoEncryptedResponseEncoding" type="varchar"
size="20"/>
+ <column name="USERINFOENCRYPTEDRESPONSEENCOD" type="varchar"
size="20"/>
<column name="userInfoSigningAlg" type="varchar" size="20"/>
<column name="ACCESSPOLICY_ID" type="varchar" size="36"/>
<column name="ATTRRELEASEPOLICY_ID" type="varchar" size="36"/>
@@ -753,7 +752,7 @@ under the License.
<index name="I_DCRPTPP_ATTRRELEASEPOLICY"
column="ATTRRELEASEPOLICY_ID"/>
<index name="I_DCRPTPP_AUTHPOLICY" column="AUTHPOLICY_ID"/>
<index name="I_DCRPTPP_REALM" column="REALM_ID"/>
- <index name="I_DCRPTPP_TICKETEXPIRATIONPOLICY"
column="TICKETEXPIRATIONPOLICY_ID"/>
+ <index name="I_DCRPTPP_TICKETEXPIRATIONPOLI"
column="TICKETEXPIRATIONPOLICY_ID"/>
<unique name="U_DCRPTPP_CLIENTAPPID" column="clientAppId"/>
<unique name="U_DCRPTPP_NAME" column="name"/>
<unique name="U_DCRPTPP_CLIENTID" column="clientId"/>
@@ -798,7 +797,7 @@ under the License.
<fk to-table="Implementation" column="DROPDOWNVALUEPROVIDER_ID"/>
<fk to-table="Implementation" column="VALIDATOR_ID"/>
<index name="I_PLNSCHM_ANYTYPECLASS" column="ANYTYPECLASS_ID"/>
- <index name="I_PLNSCHM_DROPDOWNVALUEPROVIDER"
column="DROPDOWNVALUEPROVIDER_ID"/>
+ <index name="I_PLNSCHM_DROPDOWNVALUEPROVIDE"
column="DROPDOWNVALUEPROVIDER_ID"/>
<index name="I_PLNSCHM_VALIDATOR" column="VALIDATOR_ID"/>
</table>
<table name="PropagationPolicy">
@@ -845,7 +844,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="concurrentSettings" type="clob" size="-1"/>
<column name="matchingRule" type="varchar" size="20"/>
<column name="performCreate" type="bit"/>
@@ -923,7 +921,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="concurrentSettings" type="clob" size="-1"/>
<column name="matchingRule" type="varchar" size="20"/>
<column name="performCreate" type="bit"/>
@@ -1109,6 +1106,7 @@ under the License.
<column name="encKeyAlg" type="clob" size="-1"/>
<column name="encryptionOptional" type="bit"/>
<column name="entityId" type="varchar" not-null="true" size="255"/>
+ <column name="idp" type="varchar" size="255"/>
<column name="metadataLocation" type="varchar" not-null="true"
size="255"/>
<column name="metadataSignatureLocation" type="varchar"
size="255"/>
<column name="nameIdQualifier" type="varchar" size="255"/>
@@ -1135,7 +1133,7 @@ under the License.
<index name="I_SML2TPP_ATTRRELEASEPOLICY"
column="ATTRRELEASEPOLICY_ID"/>
<index name="I_SML2TPP_AUTHPOLICY" column="AUTHPOLICY_ID"/>
<index name="I_SML2TPP_REALM" column="REALM_ID"/>
- <index name="I_SML2TPP_TICKETEXPIRATIONPOLICY"
column="TICKETEXPIRATIONPOLICY_ID"/>
+ <index name="I_SML2TPP_TICKETEXPIRATIONPOLI"
column="TICKETEXPIRATIONPOLICY_ID"/>
<unique name="U_SML2TPP_CLIENTAPPID" column="clientAppId"/>
<unique name="U_SML2TPP_NAME" column="name"/>
<unique name="U_SML2TPP_ENTITYID" column="entityId"/>
@@ -1162,7 +1160,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="JOBDELEGATE_ID" type="varchar" size="255"/>
<fk to-table="Implementation" column="JOBDELEGATE_ID"/>
<index name="I_SCHDTSK_JOBDELEGATE" column="JOBDELEGATE_ID"/>
@@ -1178,10 +1175,10 @@ under the License.
<column name="status" type="varchar" size="255"/>
<column name="TASK_ID" type="varchar" size="36"/>
<fk to-table="SchedTask" column="TASK_ID"/>
- <fk to-table="PullTask" column="TASK_ID"/>
- <fk to-table="MacroTask" column="TASK_ID"/>
<fk to-table="LiveSyncTask" column="TASK_ID"/>
<fk to-table="PushTask" column="TASK_ID"/>
+ <fk to-table="PullTask" column="TASK_ID"/>
+ <fk to-table="MacroTask" column="TASK_ID"/>
<index name="I_SCHDKXC_TASK" column="TASK_ID"/>
</table>
<table name="SecurityQuestion">
diff --git a/core/persistence-jpa-upgrader/src/main/resources/schema.xml
b/core/persistence-jpa-upgrader/src/main/resources/schema-postgresql.xml
similarity index 99%
rename from core/persistence-jpa-upgrader/src/main/resources/schema.xml
rename to core/persistence-jpa-upgrader/src/main/resources/schema-postgresql.xml
index d50923beb7..19a948e33a 100644
--- a/core/persistence-jpa-upgrader/src/main/resources/schema.xml
+++ b/core/persistence-jpa-upgrader/src/main/resources/schema-postgresql.xml
@@ -23,10 +23,10 @@ under the License.
<pk column="id"/>
<column name="id" type="varchar" not-null="true" size="36"/>
<column name="fiql" type="varchar" size="255"/>
- <column name="GROUP_ID" type="varchar" size="36"/>
<column name="ANYTYPE_ID" type="varchar" size="255"/>
- <fk to-table="SyncopeGroup" column="GROUP_ID"/>
+ <column name="GROUP_ID" type="varchar" size="36"/>
<fk to-table="AnyType" column="ANYTYPE_ID"/>
+ <fk to-table="SyncopeGroup" column="GROUP_ID"/>
<index name="I_DYNGSHP_ANYTYPE" column="ANYTYPE_ID"/>
<index name="I_DYNGSHP_GROUP" column="GROUP_ID"/>
</table>
@@ -37,8 +37,8 @@ under the License.
<column name="group_id" type="varchar" size="36"/>
<fk to-table="AnyObject" column="anyObject_id"/>
<fk to-table="SyncopeGroup" column="group_id"/>
- <index name="I_MMBRSHP_LEFTEND" column="anyObject_id"/>
- <index name="I_MMBRSHP_RIGHTEND" column="group_id"/>
+ <index name="I_MMBRSHP_LEFTEND1" column="anyObject_id"/>
+ <index name="I_MMBRSHP_RIGHTEND1" column="group_id"/>
</table>
<table name="ARelationship">
<pk column="id"/>
@@ -49,10 +49,10 @@ under the License.
<fk to-table="AnyObject" column="left_anyObject_id"/>
<fk to-table="AnyObject" column="right_anyObject_id"/>
<fk to-table="RelationshipType" column="TYPE_ID"/>
- <index name="I_RLTNSHP_LEFTEND" column="left_anyObject_id"/>
- <index name="I_RLTNSHP_RIGHTEND" column="right_anyObject_id"/>
- <index name="I_RLTNSHP_TYPE" column="TYPE_ID"/>
- <unique name="U_RLTNSHP_TYPE_ID">
+ <index name="I_RLTNSHP_LEFTEND1" column="left_anyObject_id"/>
+ <index name="I_RLTNSHP_RIGHTEND1" column="right_anyObject_id"/>
+ <index name="I_RLTNSHP_TYPE1" column="TYPE_ID"/>
+ <unique name="U_RLTNSHP_TYPE_ID1">
<on column="TYPE_ID"/>
<on column="left_anyObject_id"/>
<on column="right_anyObject_id"/>
@@ -158,11 +158,11 @@ under the License.
<pk column="id"/>
<column name="id" type="varchar" not-null="true" size="36"/>
<column name="template" type="clob" size="-1"/>
- <column name="LIVESYNCTASK_ID" type="varchar" size="36"/>
<column name="ANYTYPE_ID" type="varchar" size="255"/>
- <fk to-table="LiveSyncTask" column="LIVESYNCTASK_ID"/>
+ <column name="LIVESYNCTASK_ID" type="varchar" size="36"/>
<fk to-table="AnyType" column="ANYTYPE_ID"/>
- <index name="I_NYTMTSK_ANYTYPE1" column="ANYTYPE_ID"/>
+ <fk to-table="LiveSyncTask" column="LIVESYNCTASK_ID"/>
+ <index name="I_NYTMTSK_ANYTYPE" column="ANYTYPE_ID"/>
<index name="I_NYTMTSK_LIVESYNCTASK" column="LIVESYNCTASK_ID"/>
<unique name="U_NYTMTSK_LIVESYNCTASK_ID">
<on column="LIVESYNCTASK_ID"/>
@@ -177,7 +177,7 @@ under the License.
<column name="PULLTASK_ID" type="varchar" size="36"/>
<fk to-table="AnyType" column="ANYTYPE_ID"/>
<fk to-table="PullTask" column="PULLTASK_ID"/>
- <index name="I_NYTMTSK_ANYTYPE" column="ANYTYPE_ID"/>
+ <index name="I_NYTMTSK_ANYTYPE1" column="ANYTYPE_ID"/>
<index name="I_NYTMTSK_PULLTASK" column="PULLTASK_ID"/>
<unique name="U_NYTMTSK_PULLTASK_ID">
<on column="PULLTASK_ID"/>
@@ -442,13 +442,14 @@ under the License.
</table>
<table name="FormPropertyDef">
<pk column="id"/>
- <column name="id" type="varchar" not-null="true" size="255"/>
+ <column name="id" type="varchar" not-null="true" size="36"/>
<column name="datePattern" type="varchar" size="255"/>
<column name="dropdownFreeForm" type="bit"/>
<column name="dropdownSingleSelection" type="bit"/>
<column name="enumValues" type="clob" size="-1"/>
<column name="idx" type="integer"/>
<column name="labels" type="clob" size="-1"/>
+ <column name="mimeType" type="varchar" size="255"/>
<column name="name" type="varchar" size="255"/>
<column name="readable" type="bit"/>
<column name="required" type="bit"/>
@@ -539,7 +540,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="concurrentSettings" type="clob" size="-1"/>
<column name="matchingRule" type="varchar" size="20"/>
<column name="performCreate" type="bit"/>
@@ -595,7 +595,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="continueOnError" type="bit"/>
<column name="saveExecs" type="bit"/>
<column name="JOBDELEGATE_ID" type="varchar" size="255"/>
@@ -845,7 +844,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="concurrentSettings" type="clob" size="-1"/>
<column name="matchingRule" type="varchar" size="20"/>
<column name="performCreate" type="bit"/>
@@ -923,7 +921,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="concurrentSettings" type="clob" size="-1"/>
<column name="matchingRule" type="varchar" size="20"/>
<column name="performCreate" type="bit"/>
@@ -1109,6 +1106,7 @@ under the License.
<column name="encKeyAlg" type="clob" size="-1"/>
<column name="encryptionOptional" type="bit"/>
<column name="entityId" type="varchar" not-null="true" size="255"/>
+ <column name="idp" type="varchar" size="255"/>
<column name="metadataLocation" type="varchar" not-null="true"
size="255"/>
<column name="metadataSignatureLocation" type="varchar"
size="255"/>
<column name="nameIdQualifier" type="varchar" size="255"/>
@@ -1162,7 +1160,6 @@ under the License.
<column name="cronExpression" type="varchar" size="255"/>
<column name="description" type="varchar" size="255"/>
<column name="name" type="varchar" not-null="true" size="255"/>
- <column name="startAt" type="timestamp"/>
<column name="JOBDELEGATE_ID" type="varchar" size="255"/>
<fk to-table="Implementation" column="JOBDELEGATE_ID"/>
<index name="I_SCHDTSK_JOBDELEGATE" column="JOBDELEGATE_ID"/>
@@ -1178,9 +1175,9 @@ under the License.
<column name="status" type="varchar" size="255"/>
<column name="TASK_ID" type="varchar" size="36"/>
<fk to-table="SchedTask" column="TASK_ID"/>
- <fk to-table="PullTask" column="TASK_ID"/>
- <fk to-table="MacroTask" column="TASK_ID"/>
<fk to-table="LiveSyncTask" column="TASK_ID"/>
+ <fk to-table="MacroTask" column="TASK_ID"/>
+ <fk to-table="PullTask" column="TASK_ID"/>
<fk to-table="PushTask" column="TASK_ID"/>
<index name="I_SCHDKXC_TASK" column="TASK_ID"/>
</table>
@@ -1398,8 +1395,8 @@ under the License.
<column name="group_id" type="varchar" size="36"/>
<fk to-table="SyncopeUser" column="user_id"/>
<fk to-table="SyncopeGroup" column="group_id"/>
- <index name="I_MMBRSHP_LEFTEND1" column="user_id"/>
- <index name="I_MMBRSHP_RIGHTEND1" column="group_id"/>
+ <index name="I_MMBRSHP_LEFTEND" column="user_id"/>
+ <index name="I_MMBRSHP_RIGHTEND" column="group_id"/>
</table>
<table name="URelationship">
<pk column="id"/>
@@ -1410,10 +1407,10 @@ under the License.
<fk to-table="SyncopeUser" column="user_id"/>
<fk to-table="AnyObject" column="anyObject_id"/>
<fk to-table="RelationshipType" column="TYPE_ID"/>
- <index name="I_RLTNSHP_LEFTEND1" column="user_id"/>
- <index name="I_RLTNSHP_RIGHTEND1" column="anyObject_id"/>
- <index name="I_RLTNSHP_TYPE1" column="TYPE_ID"/>
- <unique name="U_RLTNSHP_TYPE_ID1">
+ <index name="I_RLTNSHP_LEFTEND" column="user_id"/>
+ <index name="I_RLTNSHP_RIGHTEND" column="anyObject_id"/>
+ <index name="I_RLTNSHP_TYPE" column="TYPE_ID"/>
+ <unique name="U_RLTNSHP_TYPE_ID">
<on column="TYPE_ID"/>
<on column="user_id"/>
<on column="anyObject_id"/>
@@ -1425,4 +1422,4 @@ under the License.
<column name="waConfigValues" type="clob" size="-1"/>
</table>
</schema>
-</schemas>
+</schemas>
\ No newline at end of file
diff --git
a/core/persistence-jpa-upgrader/src/test/java/org/apache/syncope/core/persistence/jpa/upgrade/GenerateUpgradeSQLTest.java
b/core/persistence-jpa-upgrader/src/test/java/org/apache/syncope/core/persistence/jpa/upgrade/GenerateUpgradeSQLTest.java
index 398ee3416b..2fba20ee15 100644
---
a/core/persistence-jpa-upgrader/src/test/java/org/apache/syncope/core/persistence/jpa/upgrade/GenerateUpgradeSQLTest.java
+++
b/core/persistence-jpa-upgrader/src/test/java/org/apache/syncope/core/persistence/jpa/upgrade/GenerateUpgradeSQLTest.java
@@ -51,6 +51,8 @@ class GenerateUpgradeSQLTest {
protected static final Supplier<Object> DB_CRED_SUPPLIER = () -> "syncope";
+ protected static final Supplier<Object> DB_SCHEMA_SUPPLIER = () ->
"schema-postgresql.xml";
+
static {
try {
EmbeddedPostgres pg = EmbeddedPostgres.builder().start();
@@ -80,6 +82,7 @@ class GenerateUpgradeSQLTest {
registry.add("db.jdbcURL", JDBC_URL_SUPPLIER);
registry.add("db.username", DB_CRED_SUPPLIER);
registry.add("db.password", DB_CRED_SUPPLIER);
+ registry.add("db.schema", DB_SCHEMA_SUPPLIER);
}
@Autowired