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 --
-- ----------------------------- -- -----------------------------

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 --
-- ----------------------------- -- -----------------------------

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" >