Better fix for ALF-4431: Upgrade fails to create UsageDelta tables

- Investigation of previous attempt showed that the use of 'alternatives' was not going to work here
 - Pulled out all 'alf_usage_delta' creations from other upgrade scripts
 - Removed alternatives from patch 'patch.db-V3.4-UsageTables'
 - Added '--(optional)' at various locations to keep things sane
 - Tested 2.1.7, 2.2.x and clean bootstrap on MySQL


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21979 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2010-08-25 01:46:20 +00:00
parent 4d5229bccd
commit df45c7cb23
9 changed files with 26 additions and 163 deletions

View File

@@ -16,7 +16,7 @@ CREATE TABLE alf_usage_delta
PRIMARY KEY (id), PRIMARY KEY (id),
KEY fk_alf_usaged_n (node_id), KEY fk_alf_usaged_n (node_id),
CONSTRAINT fk_alf_usaged_n FOREIGN KEY (node_id) REFERENCES alf_node (id) CONSTRAINT fk_alf_usaged_n FOREIGN KEY (node_id) REFERENCES alf_node (id)
) ENGINE=InnoDB; ) ENGINE=InnoDB; -- (optional)
-- --
-- Record script finish -- Record script finish

View File

@@ -15,9 +15,9 @@ CREATE TABLE alf_usage_delta
delta_size INT8 NOT NULL, delta_size INT8 NOT NULL,
PRIMARY KEY (id), PRIMARY KEY (id),
CONSTRAINT fk_alf_usaged_n FOREIGN KEY (node_id) REFERENCES alf_node (id) CONSTRAINT fk_alf_usaged_n FOREIGN KEY (node_id) REFERENCES alf_node (id)
); ); -- (optional)
CREATE INDEX fk_alf_usaged_n ON alf_usage_delta (node_id); CREATE INDEX fk_alf_usaged_n ON alf_usage_delta (node_id); -- (optional)
CREATE SEQUENCE alf_usage_delta_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE alf_usage_delta_seq START WITH 1 INCREMENT BY 1; -- (optional)
-- --
-- Record script finish -- Record script finish

View File

@@ -60,7 +60,8 @@ CREATE INDEX fk_alf_store_root ON alf_store (root_node_id);
CREATE INDEX fk_alf_txn_svr ON alf_transaction (server_id); CREATE INDEX fk_alf_txn_svr ON alf_transaction (server_id);
CREATE INDEX fk_alf_usaged_n ON alf_usage_delta (node_id); -- Optional: Present in various other patches
CREATE INDEX fk_alf_usaged_n ON alf_usage_delta (node_id); -- (optional)
-- --
-- Record script finish -- Record script finish

View File

@@ -445,39 +445,6 @@ INSERT INTO t_alf_node_assoc
DROP TABLE alf_node_assoc; DROP TABLE alf_node_assoc;
ALTER TABLE t_alf_node_assoc RENAME TO alf_node_assoc; ALTER TABLE t_alf_node_assoc RENAME TO alf_node_assoc;
-- ----------------------------
-- Populate the Usage Deltas --
-- ----------------------------
CREATE TABLE t_alf_usage_delta
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
node_id BIGINT NOT NULL,
delta_size BIGINT NOT NULL,
INDEX fk_alf_usaged_n (node_id),
CONSTRAINT fk_alf_usaged_n FOREIGN KEY (node_id) REFERENCES t_alf_node (id),
PRIMARY KEY (id)
) TYPE=InnoDB;
INSERT INTO t_alf_usage_delta
(
id, version,
node_id,
delta_size
)
SELECT
ud.id, 1,
ud.node_id,
ud.delta_size
FROM
alf_usage_delta ud
; -- (optional)
-- Clean up
DROP TABLE alf_usage_delta; -- (optional)
ALTER TABLE t_alf_usage_delta RENAME TO alf_usage_delta;
-- ----------------------------- -- -----------------------------
-- Populate the Node Aspects -- -- Populate the Node Aspects --
-- ----------------------------- -- -----------------------------

View File

@@ -232,39 +232,6 @@ INSERT INTO t_alf_node_assoc
DROP TABLE alf_node_assoc; DROP TABLE alf_node_assoc;
ALTER TABLE t_alf_node_assoc RENAME TO alf_node_assoc; ALTER TABLE t_alf_node_assoc RENAME TO alf_node_assoc;
-- ----------------------------
-- Populate the Usage Deltas --
-- ----------------------------
CREATE TABLE t_alf_usage_delta
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
node_id BIGINT NOT NULL,
delta_size BIGINT NOT NULL,
INDEX fk_alf_usaged_n (node_id),
CONSTRAINT fk_alf_usaged_n FOREIGN KEY (node_id) REFERENCES t_alf_node (id),
PRIMARY KEY (id)
) TYPE=InnoDB;
INSERT INTO t_alf_usage_delta
(
id, version,
node_id,
delta_size
)
SELECT
ud.id, 1,
ud.node_id,
ud.delta_size
FROM
alf_usage_delta ud
; -- (optional)
-- Clean up
DROP TABLE alf_usage_delta; -- (optional)
ALTER TABLE t_alf_usage_delta RENAME TO alf_usage_delta;
-- ----------------------------- -- -----------------------------
-- Populate the Node Aspects -- -- Populate the Node Aspects --
-- ----------------------------- -- -----------------------------

View File

@@ -441,39 +441,6 @@ ALTER TABLE t_alf_node_assoc RENAME TO alf_node_assoc;
ALTER TABLE alf_node_assoc ALTER TABLE alf_node_assoc
ADD CONSTRAINT alf_node_assoc_source_node_id_key UNIQUE (source_node_id, target_node_id, type_qname_id); ADD CONSTRAINT alf_node_assoc_source_node_id_key UNIQUE (source_node_id, target_node_id, type_qname_id);
-- ----------------------------
-- Populate the Usage Deltas --
-- ----------------------------
CREATE TABLE t_alf_usage_delta
(
id INT8 NOT NULL,
version INT8 NOT NULL,
node_id INT8 NOT NULL,
delta_size INT8 NOT NULL,
CONSTRAINT fk_alf_usaged_n FOREIGN KEY (node_id) REFERENCES t_alf_node (id),
PRIMARY KEY (id)
);
CREATE INDEX fk_alf_usaged_n ON t_alf_usage_delta (node_id);
INSERT INTO t_alf_usage_delta
(
id, version,
node_id,
delta_size
)
SELECT
ud.id, 1,
ud.node_id,
ud.delta_size
FROM
alf_usage_delta ud
; -- (optional)
-- Clean up
DROP TABLE alf_usage_delta; -- (optional)
ALTER TABLE t_alf_usage_delta RENAME TO alf_usage_delta;
-- ----------------------------- -- -----------------------------
-- Populate the Node Aspects -- -- Populate the Node Aspects --
-- ----------------------------- -- -----------------------------
@@ -831,7 +798,7 @@ DELETE
WHERE EXISTS WHERE EXISTS
( (
SELECT 1 FROM alf_qname, alf_namespace SELECT 1 FROM alf_qname, alf_namespace
WHERE WHERE
t_alf_node_properties.qname_id = alf_qname.id AND t_alf_node_properties.qname_id = alf_qname.id AND
alf_qname.ns_id = alf_namespace.id AND alf_qname.ns_id = alf_namespace.id AND
alf_namespace.uri = 'FILLER-http://www.alfresco.org/model/content/1.0' AND alf_namespace.uri = 'FILLER-http://www.alfresco.org/model/content/1.0' AND
@@ -956,7 +923,7 @@ ALTER TABLE t_alf_store RENAME TO alf_store;
-- ------------------------------------- -- -------------------------------------
-- Modify index and constraint names -- -- Modify index and constraint names --
-- ------------------------------------- -- -------------------------------------
ALTER TABLE alf_attributes ALTER TABLE alf_attributes
DROP CONSTRAINT fk_attributes_n_acl; -- (optional) DROP CONSTRAINT fk_attributes_n_acl; -- (optional)
ALTER TABLE alf_attributes ALTER TABLE alf_attributes
DROP CONSTRAINT fk_attr_n_acl; -- (optional) DROP CONSTRAINT fk_attr_n_acl; -- (optional)
@@ -1021,10 +988,10 @@ ALTER TABLE alf_global_attributes
ADD CONSTRAINT fk_alf_gatt_att FOREIGN KEY (attribute) REFERENCES alf_attributes (id) ADD CONSTRAINT fk_alf_gatt_att FOREIGN KEY (attribute) REFERENCES alf_attributes (id)
; ;
ALTER TABLE alf_list_attribute_entries ALTER TABLE alf_list_attribute_entries
DROP CONSTRAINT FKC7D52FB02C5AB86C; -- (optional) DROP CONSTRAINT FKC7D52FB02C5AB86C; -- (optional)
DROP INDEX FKC7D52FB02C5AB86C; -- (optional) DROP INDEX FKC7D52FB02C5AB86C; -- (optional)
ALTER TABLE alf_list_attribute_entries ALTER TABLE alf_list_attribute_entries
DROP CONSTRAINT FKC7D52FB0ACD8822C; -- (optional) DROP CONSTRAINT FKC7D52FB0ACD8822C; -- (optional)
DROP INDEX FKC7D52FB0ACD8822C; -- (optional) DROP INDEX FKC7D52FB0ACD8822C; -- (optional)
ALTER TABLE alf_list_attribute_entries ALTER TABLE alf_list_attribute_entries
@@ -1034,10 +1001,10 @@ ALTER TABLE alf_list_attribute_entries
CREATE INDEX fk_alf_lent_att ON alf_list_attribute_entries (attribute_id); CREATE INDEX fk_alf_lent_att ON alf_list_attribute_entries (attribute_id);
CREATE INDEX fk_alf_lent_latt ON alf_list_attribute_entries (list_id); CREATE INDEX fk_alf_lent_latt ON alf_list_attribute_entries (list_id);
ALTER TABLE alf_map_attribute_entries ALTER TABLE alf_map_attribute_entries
DROP CONSTRAINT FK335CAE26AEAC208C; -- (optional) DROP CONSTRAINT FK335CAE26AEAC208C; -- (optional)
DROP INDEX FK335CAE26AEAC208C; -- (optional) DROP INDEX FK335CAE26AEAC208C; -- (optional)
ALTER TABLE alf_map_attribute_entries ALTER TABLE alf_map_attribute_entries
DROP CONSTRAINT FK335CAE262C5AB86C; -- (optional) DROP CONSTRAINT FK335CAE262C5AB86C; -- (optional)
DROP INDEX FK335CAE262C5AB86C; -- (optional) DROP INDEX FK335CAE262C5AB86C; -- (optional)
ALTER TABLE alf_map_attribute_entries ALTER TABLE alf_map_attribute_entries
@@ -1060,10 +1027,10 @@ CREATE INDEX fk_alf_txn_svr ON alf_transaction (server_id);
CREATE INDEX idx_alf_txn_ctms ON alf_transaction (commit_time_ms); CREATE INDEX idx_alf_txn_ctms ON alf_transaction (commit_time_ms);
UPDATE alf_transaction SET commit_time_ms = id WHERE commit_time_ms IS NULL; UPDATE alf_transaction SET commit_time_ms = id WHERE commit_time_ms IS NULL;
ALTER TABLE avm_child_entries ALTER TABLE avm_child_entries
DROP CONSTRAINT fk_avm_ce_child; -- (optional) DROP CONSTRAINT fk_avm_ce_child; -- (optional)
DROP INDEX fk_avm_ce_child; -- (optional) DROP INDEX fk_avm_ce_child; -- (optional)
ALTER TABLE avm_child_entries ALTER TABLE avm_child_entries
DROP CONSTRAINT fk_avm_ce_parent; -- (optional) DROP CONSTRAINT fk_avm_ce_parent; -- (optional)
DROP INDEX fk_avm_ce_parent; -- (optional) DROP INDEX fk_avm_ce_parent; -- (optional)
ALTER TABLE avm_child_entries ALTER TABLE avm_child_entries
@@ -1073,10 +1040,10 @@ ALTER TABLE avm_child_entries
CREATE INDEX fk_avm_ce_child ON avm_child_entries (child_id); CREATE INDEX fk_avm_ce_child ON avm_child_entries (child_id);
CREATE INDEX fk_avm_ce_parent ON avm_child_entries (parent_id); CREATE INDEX fk_avm_ce_parent ON avm_child_entries (parent_id);
ALTER TABLE avm_history_links ALTER TABLE avm_history_links
DROP CONSTRAINT fk_avm_hl_desc; -- (optional) DROP CONSTRAINT fk_avm_hl_desc; -- (optional)
DROP INDEX fk_avm_hl_desc; -- (optional) DROP INDEX fk_avm_hl_desc; -- (optional)
ALTER TABLE avm_history_links ALTER TABLE avm_history_links
DROP CONSTRAINT fk_avm_hl_ancestor; -- (optional) DROP CONSTRAINT fk_avm_hl_ancestor; -- (optional)
DROP INDEX fk_avm_hl_ancestor; -- (optional) DROP INDEX fk_avm_hl_ancestor; -- (optional)
DROP INDEX idx_avm_hl_revpk; -- (optional) DROP INDEX idx_avm_hl_revpk; -- (optional)
@@ -1088,10 +1055,10 @@ CREATE INDEX fk_avm_hl_desc ON avm_history_links (descendent);
CREATE INDEX fk_avm_hl_ancestor ON avm_history_links (ancestor); CREATE INDEX fk_avm_hl_ancestor ON avm_history_links (ancestor);
CREATE INDEX idx_avm_hl_revpk ON avm_history_links (descendent, ancestor); CREATE INDEX idx_avm_hl_revpk ON avm_history_links (descendent, ancestor);
ALTER TABLE avm_merge_links ALTER TABLE avm_merge_links
DROP CONSTRAINT fk_avm_ml_to; -- (optional) DROP CONSTRAINT fk_avm_ml_to; -- (optional)
DROP INDEX fk_avm_ml_to; -- (optional) DROP INDEX fk_avm_ml_to; -- (optional)
ALTER TABLE avm_merge_links ALTER TABLE avm_merge_links
DROP CONSTRAINT fk_avm_ml_from; -- (optional) DROP CONSTRAINT fk_avm_ml_from; -- (optional)
DROP INDEX fk_avm_ml_from; -- (optional) DROP INDEX fk_avm_ml_from; -- (optional)
ALTER TABLE avm_merge_links ALTER TABLE avm_merge_links
@@ -1101,10 +1068,10 @@ ALTER TABLE avm_merge_links
CREATE INDEX fk_avm_ml_to ON avm_merge_links (mto); CREATE INDEX fk_avm_ml_to ON avm_merge_links (mto);
CREATE INDEX fk_avm_ml_from ON avm_merge_links (mfrom); CREATE INDEX fk_avm_ml_from ON avm_merge_links (mfrom);
ALTER TABLE avm_nodes ALTER TABLE avm_nodes
DROP CONSTRAINT fk_avm_n_acl; -- (optional) DROP CONSTRAINT fk_avm_n_acl; -- (optional)
DROP INDEX fk_avm_n_acl; -- (optional) DROP INDEX fk_avm_n_acl; -- (optional)
ALTER TABLE avm_nodes ALTER TABLE avm_nodes
DROP CONSTRAINT fk_avm_n_store; -- (optional) DROP CONSTRAINT fk_avm_n_store; -- (optional)
DROP INDEX fk_avm_n_store; -- (optional) DROP INDEX fk_avm_n_store; -- (optional)
DROP INDEX idx_avm_n_pi; -- (optional) DROP INDEX idx_avm_n_pi; -- (optional)
@@ -1116,7 +1083,7 @@ CREATE INDEX fk_avm_n_acl ON avm_nodes (acl_id);
CREATE INDEX fk_avm_n_store ON avm_nodes (store_new_id); CREATE INDEX fk_avm_n_store ON avm_nodes (store_new_id);
CREATE INDEX idx_avm_n_pi ON avm_nodes (primary_indirection); CREATE INDEX idx_avm_n_pi ON avm_nodes (primary_indirection);
ALTER TABLE avm_stores ALTER TABLE avm_stores
DROP CONSTRAINT fk_avm_s_root; -- (optional) DROP CONSTRAINT fk_avm_s_root; -- (optional)
DROP INDEX fk_avm_s_root; -- (optional) DROP INDEX fk_avm_s_root; -- (optional)
ALTER TABLE avm_stores ALTER TABLE avm_stores
@@ -1126,7 +1093,7 @@ ALTER TABLE avm_stores
CREATE INDEX fk_avm_s_acl ON avm_stores (acl_id); CREATE INDEX fk_avm_s_acl ON avm_stores (acl_id);
CREATE INDEX fk_avm_s_root ON avm_stores (current_root_id); CREATE INDEX fk_avm_s_root ON avm_stores (current_root_id);
ALTER TABLE avm_version_layered_node_entry ALTER TABLE avm_version_layered_node_entry
DROP CONSTRAINT FK182E672DEB9D70C; -- (optional) DROP CONSTRAINT FK182E672DEB9D70C; -- (optional)
DROP INDEX FK182E672DEB9D70C; -- (optional) DROP INDEX FK182E672DEB9D70C; -- (optional)
ALTER TABLE avm_version_layered_node_entry ALTER TABLE avm_version_layered_node_entry
@@ -1136,10 +1103,10 @@ CREATE INDEX fk_avm_vlne_vr ON avm_version_layered_node_entry (version_root_id);
DROP INDEX idx_avm_vr_version; -- (optional) DROP INDEX idx_avm_vr_version; -- (optional)
DROP INDEX idx_avm_vr_revuq; -- (optional) DROP INDEX idx_avm_vr_revuq; -- (optional)
ALTER TABLE avm_version_roots ALTER TABLE avm_version_roots
DROP CONSTRAINT fk_avm_vr_root; -- (optional) DROP CONSTRAINT fk_avm_vr_root; -- (optional)
DROP INDEX fk_avm_vr_root; -- (optional) DROP INDEX fk_avm_vr_root; -- (optional)
ALTER TABLE avm_version_roots ALTER TABLE avm_version_roots
DROP CONSTRAINT fk_avm_vr_store; -- (optional) DROP CONSTRAINT fk_avm_vr_store; -- (optional)
DROP INDEX fk_avm_vr_store; -- (optional) DROP INDEX fk_avm_vr_store; -- (optional)
ALTER TABLE avm_version_roots ALTER TABLE avm_version_roots

View File

@@ -221,39 +221,6 @@ ALTER TABLE t_alf_node_assoc RENAME TO alf_node_assoc;
ALTER TABLE alf_node_assoc ALTER TABLE alf_node_assoc
ADD CONSTRAINT alf_node_assoc_source_node_id_key UNIQUE (source_node_id, target_node_id, type_qname_id); ADD CONSTRAINT alf_node_assoc_source_node_id_key UNIQUE (source_node_id, target_node_id, type_qname_id);
-- ----------------------------
-- Populate the Usage Deltas --
-- ----------------------------
CREATE TABLE t_alf_usage_delta
(
id INT8 NOT NULL,
version INT8 NOT NULL,
node_id INT8 NOT NULL,
delta_size INT8 NOT NULL,
CONSTRAINT fk_alf_usaged_n FOREIGN KEY (node_id) REFERENCES t_alf_node (id),
PRIMARY KEY (id)
);
CREATE INDEX fk_alf_usaged_n ON t_alf_usage_delta (node_id);
INSERT INTO t_alf_usage_delta
(
id, version,
node_id,
delta_size
)
SELECT
ud.id, 1,
ud.node_id,
ud.delta_size
FROM
alf_usage_delta ud
; -- (optional)
-- Clean up
DROP TABLE alf_usage_delta; -- (optional)
ALTER TABLE t_alf_usage_delta RENAME TO alf_usage_delta;
-- ----------------------------- -- -----------------------------
-- Populate the Node Aspects -- -- Populate the Node Aspects --
-- ----------------------------- -- -----------------------------
@@ -541,7 +508,7 @@ DELETE
WHERE EXISTS WHERE EXISTS
( (
SELECT 1 FROM alf_qname, alf_namespace SELECT 1 FROM alf_qname, alf_namespace
WHERE WHERE
t_alf_node_properties.qname_id = alf_qname.id AND t_alf_node_properties.qname_id = alf_qname.id AND
alf_qname.ns_id = alf_namespace.id AND alf_qname.ns_id = alf_namespace.id AND
alf_namespace.uri = 'http://www.alfresco.org/model/content/1.0' AND alf_namespace.uri = 'http://www.alfresco.org/model/content/1.0' AND

View File

@@ -56,7 +56,7 @@ CREATE SEQUENCE alf_attributes_seq START WITH ${hibernate_seq_next_value} INCREM
CREATE SEQUENCE alf_node_assoc_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1; CREATE SEQUENCE alf_node_assoc_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_usage_delta_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1; CREATE SEQUENCE alf_usage_delta_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1; -- (optional)
-- --
-- Record script finish -- Record script finish

View File

@@ -856,12 +856,6 @@
<property name="scriptUrl"> <property name="scriptUrl">
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-UsageTables.sql</value> <value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-UsageTables.sql</value>
</property> </property>
<property name="alternatives" >
<list>
<ref bean="patch.db-V2.2-Upgrade-From-2.1" />
<ref bean="patch.db-V2.2-Upgrade-From-2.2SP1" />
</list>
</property>
</bean> </bean>
<bean id="patch.deploymentMigration" class="org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch" parent="basePatch" > <bean id="patch.deploymentMigration" class="org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch" parent="basePatch" >