ACS-855 : Long running patch in ACS 7.0.0.A2 upgrade (#338)

- revert  changes (sql and schema reference files) done in REPO-4547
This commit is contained in:
Denis Ungureanu
2021-03-08 09:49:38 +02:00
committed by GitHub
parent a4bf9b5e47
commit f485581d5e
9 changed files with 193 additions and 178 deletions

View File

@@ -162,16 +162,28 @@ CREATE TABLE alf_authority_alias
CONSTRAINT fk_alf_autha_ali FOREIGN KEY (alias_id) REFERENCES alf_authority (id)
) ENGINE=InnoDB;
CREATE TABLE alf_server
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
ip_address VARCHAR(39) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY ip_address (ip_address)
) ENGINE=InnoDB;
CREATE TABLE alf_transaction
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
server_id BIGINT,
change_txn_id VARCHAR(56) NOT NULL,
commit_time_ms BIGINT,
PRIMARY KEY (id),
KEY idx_alf_txn_ctms (commit_time_ms, id),
KEY idx_alf_txn_ctms_sc (commit_time_ms),
key idx_alf_txn_id_ctms (id, commit_time_ms)
key idx_alf_txn_id_ctms (id, commit_time_ms),
KEY fk_alf_txn_svr (server_id),
CONSTRAINT fk_alf_txn_svr FOREIGN KEY (server_id) REFERENCES alf_server (id)
) ENGINE=InnoDB;
CREATE TABLE alf_store

View File

@@ -2472,7 +2472,39 @@
<columnname>local_name</columnname>
</columnnames>
</index>
</indexes>
</indexes>
</table>
<table name="alf_server">
<columns>
<column name="id" order="1">
<type>bigint</type>
<nullable>false</nullable>
<autoincrement>true</autoincrement>
</column>
<column name="version" order="2">
<type>bigint</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="ip_address" order="3">
<type>varchar(39)</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
</columns>
<primarykey name="PRIMARY">
<columnnames>
<columnname order="1">id</columnname>
</columnnames>
</primarykey>
<foreignkeys/>
<indexes>
<index name="ip_address" unique="true">
<columnnames>
<columnname>ip_address</columnname>
</columnnames>
</index>
</indexes>
</table>
<table name="alf_store">
<columns>
@@ -2620,12 +2652,17 @@
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="change_txn_id" order="3">
<column name="server_id" order="3">
<type>bigint</type>
<nullable>true</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="change_txn_id" order="4">
<type>varchar(56)</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="commit_time_ms" order="4">
<column name="commit_time_ms" order="5">
<type>bigint</type>
<nullable>true</nullable>
<autoincrement>false</autoincrement>
@@ -2636,6 +2673,13 @@
<columnname order="1">id</columnname>
</columnnames>
</primarykey>
<foreignkeys>
<foreignkey name="fk_alf_txn_svr">
<localcolumn>server_id</localcolumn>
<targettable>alf_server</targettable>
<targetcolumn>id</targetcolumn>
</foreignkey>
</foreignkeys>
<indexes>
<index name="idx_alf_txn_ctms" unique="false">
<columnnames>
@@ -2654,6 +2698,11 @@
<columnname>commit_time_ms</columnname>
</columnnames>
</index>
<index name="fk_alf_txn_svr" unique="false">
<columnnames>
<columnname>server_id</columnname>
</columnnames>
</index>
</indexes>
</table>
<table name="alf_usage_delta">

View File

@@ -29,7 +29,7 @@ CREATE TABLE alf_locale
id INT8 NOT NULL,
version INT8 NOT NULL,
locale_str VARCHAR(20) NOT NULL,
PRIMARY KEY (id)
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX locale_str ON alf_locale (locale_str);
@@ -50,7 +50,7 @@ CREATE TABLE alf_qname
version INT8 NOT NULL,
ns_id INT8 NOT NULL,
local_name VARCHAR(200) NOT NULL,
CONSTRAINT fk_alf_qname_ns FOREIGN KEY (ns_id) REFERENCES alf_namespace (id),
CONSTRAINT fk_alf_qname_ns FOREIGN KEY (ns_id) REFERENCES alf_namespace (id),
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX ns_id ON alf_qname (ns_id, local_name);
@@ -62,7 +62,7 @@ CREATE TABLE alf_permission
version INT8 NOT NULL,
type_qname_id INT8 NOT NULL,
name VARCHAR(100) NOT NULL,
PRIMARY KEY (id),
PRIMARY KEY (id),
CONSTRAINT fk_alf_perm_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id)
);
CREATE UNIQUE INDEX type_qname_id ON alf_permission (type_qname_id, name);
@@ -101,7 +101,7 @@ CREATE TABLE alf_access_control_entry
allowed BOOL NOT NULL,
applies INT4 NOT NULL,
context_id INT8,
PRIMARY KEY (id),
PRIMARY KEY (id),
CONSTRAINT fk_alf_ace_auth FOREIGN KEY (authority_id) REFERENCES alf_authority (id),
CONSTRAINT fk_alf_ace_ctx FOREIGN KEY (context_id) REFERENCES alf_ace_context (id),
CONSTRAINT fk_alf_ace_perm FOREIGN KEY (permission_id) REFERENCES alf_permission (id)
@@ -151,7 +151,7 @@ CREATE TABLE alf_acl_member
acl_id INT8 NOT NULL,
ace_id INT8 NOT NULL,
pos INT4 NOT NULL,
PRIMARY KEY (id),
PRIMARY KEY (id),
CONSTRAINT fk_alf_aclm_ace FOREIGN KEY (ace_id) REFERENCES alf_access_control_entry (id),
CONSTRAINT fk_alf_aclm_acl FOREIGN KEY (acl_id) REFERENCES alf_access_control_list (id)
);
@@ -174,18 +174,31 @@ CREATE UNIQUE INDEX auth_id ON alf_authority_alias (auth_id, alias_id);
CREATE INDEX fk_alf_autha_ali ON alf_authority_alias (alias_id);
CREATE INDEX fk_alf_autha_aut ON alf_authority_alias (auth_id);
CREATE SEQUENCE alf_server_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_server
(
id INT8 NOT NULL,
version INT8 NOT NULL,
ip_address VARCHAR(39) NOT NULL,
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX ip_address ON alf_server (ip_address);
CREATE SEQUENCE alf_transaction_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_transaction
(
id INT8 NOT NULL,
version INT8 NOT NULL,
server_id INT8,
change_txn_id VARCHAR(56) NOT NULL,
commit_time_ms INT8,
PRIMARY KEY (id)
PRIMARY KEY (id),
CONSTRAINT fk_alf_txn_svr FOREIGN KEY (server_id) REFERENCES alf_server (id)
);
CREATE INDEX idx_alf_txn_ctms ON alf_transaction (commit_time_ms, id);
CREATE INDEX idx_alf_txn_ctms_sc ON alf_transaction (commit_time_ms);
CREATE INDEX idx_alf_txn_id_ctms ON alf_transaction (id, commit_time_ms);
CREATE INDEX fk_alf_txn_svr ON alf_transaction (server_id);
CREATE SEQUENCE alf_store_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_store
@@ -254,7 +267,7 @@ CREATE TABLE alf_child_assoc
qname_crc INT8 NOT NULL,
is_primary BOOL,
assoc_index INT4,
PRIMARY KEY (id),
PRIMARY KEY (id),
CONSTRAINT fk_alf_cass_cnode FOREIGN KEY (child_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_cass_pnode FOREIGN KEY (parent_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_cass_qnns FOREIGN KEY (qname_ns_id) REFERENCES alf_namespace (id),
@@ -273,7 +286,7 @@ CREATE TABLE alf_node_aspects
node_id INT8 NOT NULL,
qname_id INT8 NOT NULL,
PRIMARY KEY (node_id, qname_id),
CONSTRAINT fk_alf_nasp_n FOREIGN KEY (node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nasp_n FOREIGN KEY (node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nasp_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id)
);
CREATE INDEX fk_alf_nasp_n ON alf_node_aspects (node_id);
@@ -288,7 +301,7 @@ CREATE TABLE alf_node_assoc
target_node_id INT8 NOT NULL,
type_qname_id INT8 NOT NULL,
assoc_index INT8 NOT NULL,
PRIMARY KEY (id),
PRIMARY KEY (id),
CONSTRAINT fk_alf_nass_snode FOREIGN KEY (source_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nass_tnode FOREIGN KEY (target_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nass_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id)

View File

@@ -44,6 +44,7 @@
<sequence name="alf_prop_unique_ctx_seq"/>
<sequence name="alf_prop_value_seq"/>
<sequence name="alf_qname_seq"/>
<sequence name="alf_server_seq"/>
<sequence name="alf_store_seq"/>
<sequence name="alf_transaction_seq"/>
<sequence name="alf_usage_delta_seq"/>
@@ -912,45 +913,45 @@
</index>
</indexes>
</table>
<table name="alf_auth_status">
<columns>
<column name="id" order="1">
<type>int8</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="username" order="2">
<type>varchar(100)</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="deleted" order="3">
<type>bool</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="authorized" order="4">
<type>bool</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="checksum" order="5">
<type>bytea</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="authaction" order="6">
<type>varchar(10)</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
</columns>
<primarykey name="alf_auth_status_pkey">
<columnnames>
<columnname order="1">id</columnname>
</columnnames>
</primarykey>
<indexes>
<table name="alf_auth_status">
<columns>
<column name="id" order="1">
<type>int8</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="username" order="2">
<type>varchar(100)</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="deleted" order="3">
<type>bool</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="authorized" order="4">
<type>bool</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="checksum" order="5">
<type>bytea</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="authaction" order="6">
<type>varchar(10)</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
</columns>
<primarykey name="alf_auth_status_pkey">
<columnnames>
<columnname order="1">id</columnname>
</columnnames>
</primarykey>
<indexes>
<index name="idx_alf_auth_usr_stat" unique="true">
<columnnames>
<columnname>username</columnname>
@@ -959,7 +960,7 @@
</index>
<index name="idx_alf_auth_deleted" unique="false">
<columnnames>
<columnname>deleted</columnname>
<columnname>deleted</columnname>
</columnnames>
</index>
<index name="idx_alf_auth_action" unique="false">
@@ -967,9 +968,9 @@
<columnname>authaction</columnname>
</columnnames>
</index>
</indexes>
<foreignkeys/>
</table>
</indexes>
<foreignkeys/>
</table>
<table name="alf_child_assoc">
<columns>
<column name="id" order="1">
@@ -1628,11 +1629,11 @@
</columns>
<primarykey name="alf_node_pkey">
<validators>
<validator class="org.alfresco.util.schemacomp.validator.NameValidator">
<properties>
<property name="pattern">alf_node_pkey1?</property>
</properties>
</validator>
<validator class="org.alfresco.util.schemacomp.validator.NameValidator">
<properties>
<property name="pattern">alf_node_pkey1?</property>
</properties>
</validator>
</validators>
<columnnames>
<columnname order="1">id</columnname>
@@ -1830,11 +1831,11 @@
</columns>
<primarykey name="alf_node_assoc_pkey">
<validators>
<validator class="org.alfresco.util.schemacomp.validator.NameValidator">
<properties>
<property name="pattern">alf_node_assoc_pkey1?</property>
</properties>
</validator>
<validator class="org.alfresco.util.schemacomp.validator.NameValidator">
<properties>
<property name="pattern">alf_node_assoc_pkey1?</property>
</properties>
</validator>
</validators>
<columnnames>
<columnname order="1">id</columnname>
@@ -2542,7 +2543,39 @@
<columnname>local_name</columnname>
</columnnames>
</index>
</indexes>
</indexes>
</table>
<table name="alf_server">
<columns>
<column name="id" order="1">
<type>int8</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="version" order="2">
<type>int8</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="ip_address" order="3">
<type>varchar(39)</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
</columns>
<primarykey name="alf_server_pkey">
<columnnames>
<columnname order="1">id</columnname>
</columnnames>
</primarykey>
<foreignkeys/>
<indexes>
<index name="ip_address" unique="true">
<columnnames>
<columnname>ip_address</columnname>
</columnnames>
</index>
</indexes>
</table>
<table name="alf_store">
<columns>
@@ -2690,12 +2723,17 @@
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="change_txn_id" order="3">
<column name="server_id" order="3">
<type>int8</type>
<nullable>true</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="change_txn_id" order="4">
<type>varchar(56)</type>
<nullable>false</nullable>
<autoincrement>false</autoincrement>
</column>
<column name="commit_time_ms" order="4">
<column name="commit_time_ms" order="5">
<type>int8</type>
<nullable>true</nullable>
<autoincrement>false</autoincrement>
@@ -2706,7 +2744,19 @@
<columnname order="1">id</columnname>
</columnnames>
</primarykey>
<foreignkeys>
<foreignkey name="fk_alf_txn_svr">
<localcolumn>server_id</localcolumn>
<targettable>alf_server</targettable>
<targetcolumn>id</targetcolumn>
</foreignkey>
</foreignkeys>
<indexes>
<index name="fk_alf_txn_svr" unique="false">
<columnnames>
<columnname>server_id</columnname>
</columnnames>
</index>
<index name="idx_alf_txn_ctms" unique="false">
<columnnames>
<columnname>commit_time_ms</columnname>

View File

@@ -54,7 +54,6 @@
<ref bean="patch.db-V5.1-metadata-query-indexes" />
<ref bean="patch.db-V5.2-remove-jbpm-tables-from-db" />
<ref bean="patch.db-V6.0-change-set-indexes" />
<ref bean="patch.db-V6.3-remove-alf_server-table" />
<ref bean="patch.db-V6.3-add-indexes-node-transaction" />
</list>
</property>

View File

@@ -1,31 +0,0 @@
--
-- Title: Remove alf_server table
-- Database: MySQL
-- Since: V6.3
-- Author: David Edwards
-- Author: Alex Mukha
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE alf_server;
ALTER TABLE alf_transaction
DROP FOREIGN KEY fk_alf_txn_svr,
DROP COLUMN server_id;
SET FOREIGN_KEY_CHECKS=1;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V6.3-remove-alf_server-table';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V6.3-remove-alf_server-table', 'Remove alf_server table',
0, 14000, -1, 14001, null, 'UNKNOWN', ${TRUE}, ${TRUE}, 'Script completed'
);

View File

@@ -1,64 +0,0 @@
--
-- Title: Remove alf_server table
-- Database: PostgreSQL
-- Since: V6.3
-- Author: David Edwards
-- Author: Alex Mukha
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
-- DROP the indexes
DROP INDEX fk_alf_txn_svr;
DROP INDEX idx_alf_txn_ctms;
-- DROP the constraints alf_transaction
ALTER TABLE alf_transaction DROP CONSTRAINT fk_alf_txn_svr;
-- Rename existing alf_transaction to t_alf_transaction
ALTER TABLE alf_transaction RENAME TO t_alf_transaction;
-- Create new alf_transaction table with new schema
CREATE TABLE alf_transaction
(
id INT8 NOT NULL,
version INT8 NOT NULL,
change_txn_id VARCHAR(56) NOT NULL,
commit_time_ms INT8,
PRIMARY KEY (id)
);
CREATE INDEX idx_alf_txn_ctms ON alf_transaction (commit_time_ms, id);
--FOREACH t_alf_transaction.id system.upgrade.alf_server_deleted.batchsize
INSERT INTO alf_transaction
(id, version, change_txn_id, commit_time_ms)
(
SELECT
id, version, change_txn_id, commit_time_ms
FROM
t_alf_transaction
WHERE
id >= ${LOWERBOUND} AND id <= ${UPPERBOUND}
);
-- DROP existing fk constraint from alf_node ADD a new reference to the new alf_transaction table
ALTER TABLE alf_node
DROP CONSTRAINT fk_alf_node_txn,
ADD CONSTRAINT fk_alf_node_txn FOREIGN KEY (transaction_id)
REFERENCES alf_transaction (id);
DROP TABLE t_alf_transaction;
DROP TABLE alf_server;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V6.3-remove-alf_server-table';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V6.3-remove-alf_server-table', 'Remove alf_server table',
0, 14000, -1, 14001, null, 'UNKNOWN', ${TRUE}, ${TRUE}, 'Script completed'
);

View File

@@ -402,6 +402,4 @@ patch.db-V5.2-remove-jbpm-tables-from-db.description=Removes all JBPM related ta
patch.db-V6.0-change-set-indexes.description=Add additional indexes to support acl tracking.
patch.db-V6.3-remove-alf_server-table.description=Remove alf_server table.
patch.db-V6.3-add-indexes-node-transaction.description=Create additional indexes on alf_node and alf_transaction

View File

@@ -1397,17 +1397,6 @@
<value>classpath:alfresco/dbscripts/upgrade/6.0/${db.script.dialect}/change-set-indexes.sql</value>
</property>
</bean>
<bean id="patch.db-V6.3-remove-alf_server-table" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
<property name="id"><value>patch.db-V6.3-remove-alf_server-table</value></property>
<property name="description"><value>patch.db-V6.3-remove-alf_server-table.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>14000</value></property>
<property name="targetSchema"><value>14001</value></property>
<property name="scriptUrl">
<value>classpath:alfresco/dbscripts/upgrade/6.3/${db.script.dialect}/remove-alf_server-table.sql</value>
</property>
</bean>
<bean id="patch.db-V6.3-add-indexes-node-transaction" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
<property name="id"><value>patch.db-V6.3-add-indexes-node-transaction</value></property>