mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
27584: ALF-8189: RINF 16: Upgrade peer associations - Create scripts and upgrades to add alf_node_assoc.assoc_index for all DBs - Part of ALF-7404: RINF 16: Peer association enhancements 27640: Re-added changes from rev 27125, which were overwritten by 27584 (ALF-8334: RSOLR 013) 28295: (RECORD ONLY) Upgrade Tika and POI to the latest versions git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28309 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
70 lines
2.6 KiB
SQL
70 lines
2.6 KiB
SQL
--
|
|
-- Title: Add 'assoc_index' column to 'alf_node_assoc'
|
|
-- Database: PostgreSQL
|
|
-- Since: V4.0 Schema 5008
|
|
-- Author: Derek Hulley
|
|
--
|
|
-- Please contact support@alfresco.com if you need assistance with the upgrade.
|
|
--
|
|
|
|
-- Cut the original table to just the data
|
|
DROP INDEX source_node_id; --(optional)
|
|
DROP INDEX alf_node_assoc_source_node_id_key; --(optional)
|
|
DROP INDEX fk_alf_nass_snode;
|
|
DROP INDEX fk_alf_nass_tnode;
|
|
DROP INDEX fk_alf_nass_tqn;
|
|
ALTER TABLE alf_node_assoc
|
|
DROP CONSTRAINT fk_alf_nass_snode;
|
|
ALTER TABLE alf_node_assoc
|
|
DROP CONSTRAINT fk_alf_nass_tnode;
|
|
ALTER TABLE alf_node_assoc
|
|
DROP CONSTRAINT fk_alf_nass_tqn;
|
|
ALTER TABLE alf_node_assoc RENAME TO t_alf_node_assoc;
|
|
|
|
-- So now it's just raw data
|
|
-- Reconstruct the table (leave the sequence as is)
|
|
CREATE TABLE alf_node_assoc
|
|
(
|
|
id INT8 NOT NULL,
|
|
version INT8 NOT NULL,
|
|
source_node_id INT8 NOT NULL,
|
|
target_node_id INT8 NOT NULL,
|
|
type_qname_id INT8 NOT NULL,
|
|
assoc_index INT8 NOT NULL,
|
|
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)
|
|
);
|
|
CREATE UNIQUE INDEX source_node_id ON alf_node_assoc (source_node_id, target_node_id, type_qname_id);
|
|
CREATE INDEX fk_alf_nass_snode ON alf_node_assoc (source_node_id, type_qname_id, assoc_index);
|
|
CREATE INDEX fk_alf_nass_tnode ON alf_node_assoc (target_node_id, type_qname_id);
|
|
CREATE INDEX fk_alf_nass_tqn ON alf_node_assoc (type_qname_id);
|
|
|
|
-- Copy the data over
|
|
--FOREACH t_alf_node_assoc.id system.upgrade.alf_node_assoc.batchsize
|
|
INSERT INTO alf_node_assoc
|
|
(id, version, source_node_id, target_node_id, type_qname_id, assoc_index)
|
|
(
|
|
SELECT
|
|
id, 1, source_node_id, target_node_id, type_qname_id, 1
|
|
FROM
|
|
t_alf_node_assoc
|
|
WHERE
|
|
id >= ${LOWERBOUND} AND id <= ${UPPERBOUND}
|
|
);
|
|
|
|
-- Drop old data
|
|
DROP TABLE t_alf_node_assoc;
|
|
|
|
--
|
|
-- Record script finish
|
|
--
|
|
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V4.0-NodeAssoc-Ordering';
|
|
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-V4.0-NodeAssoc-Ordering', 'Manually executed script upgrade V4.0: Add assoc_index column to alf_node_assoc',
|
|
0, 5008, -1, 5009, null, 'UNKNOWN', ${TRUE}, ${TRUE}, 'Script completed'
|
|
); |