Merged V3.1 to HEAD

12923: New Enterprise Examples project containing hyperic plugin and README.txt
   12908: A few fixes to improve consistency in JMX object naming
   12889: Fix failing unit tests. Include linkvalidation in unit test classpath.
   12885: Merged DEV/DAVEW_POST3D to V3.1
      12881: Changes to allow monitoring of authentication configuration
      12862: Merged DEV/3.1_ENTERPRISE_ONLY to DEV/DAVEW_POST3D
         12797: Changes to allow persistence of changes made by JMX.
      12852: Review comment from Derek: remove dependencies of descriptor service (serverDescriptorDAO, currentRepoDescriptorDAO and installedRepoDescriptorDAO) out of bootstrap-context.xml
      12849: Correction to JAWS-221: dbscripts directory must be directly under config/alfresco in enterprise project.
      12847: JAWS-221: Move proprietary DB create/upgrade scripts into Enterprise Only project
      12845: Avoid NullPointerExceptions in status templates when no codeName or description exists for the status code

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13513 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Dave Ward
2009-03-10 12:16:12 +00:00
parent 8491c4942b
commit 6641fd64fc
32 changed files with 224 additions and 1187 deletions

View File

@@ -1,636 +0,0 @@
-- ------------------------------------------------------
-- Alfresco Schema conversion V1.2.1 to V1.3
--
-- For Oracle.
--
-- Note: This script does not create a temporary
-- properties table. It updates the existing
-- table as it is not possible to insert..select
-- long raw columns in Oracle.
--
-- Author: David Caruana
-- ------------------------------------------------------
--
-- Create temporary 1.3 schema
--
CREATE TABLE T_access_control_entry (
id number(19,0) NOT NULL,
protocol varchar2(50) default NULL,
identifier varchar2(100) default NULL,
uuid varchar2(36) default NULL,
typeUri varchar2(100) default NULL,
typeName varchar2(100) default NULL,
name varchar2(100) default NULL,
recipient varchar2(100) default NULL,
acl_id number(19, 0),
permission_id number(19, 0),
authority_id varchar2(100),
allowed number(1, 0) NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX IDX_ACE_REF ON T_access_control_entry (protocol, identifier, uuid);
CREATE TABLE T_access_control_list
(
id number(19,0) not null,
protocol varchar2(50) NOT NULL,
identifier varchar2(100) NOT NULL,
uuid varchar2(36) NOT NULL,
inherits number(1,0) NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX IDX_ACL_REF ON T_access_control_list (protocol, identifier, uuid);
create table T_auth_ext_keys
(
id varchar2(100) not null,
externalKey varchar2(100) not null,
primary key (id, externalKey)
);
create table T_authority
(
recipient varchar2(100) not null,
primary key (recipient)
);
CREATE TABLE T_child_assoc
(
id number(19,0) NOT NULL,
parent_node_id number(19,0) default NULL,
parent_protocol varchar(50) default NULL,
parent_identifier varchar(100) default NULL,
parent_uuid varchar(36) default NULL,
child_node_id number(19,0) default NULL,
child_protocol varchar(50) default NULL,
child_identifier varchar(100) default NULL,
child_uuid varchar(36) default NULL,
type_qname varchar(255) NOT NULL,
qname varchar(255) NOT NULL,
is_primary number(1,0) default NULL,
assoc_index number(10,0) default NULL,
PRIMARY KEY (id)
);
CREATE INDEX IDX_CA_PARENT ON T_child_assoc(parent_protocol, parent_identifier, parent_uuid);
CREATE INDEX IDX_CA_CHILD ON T_child_assoc(child_protocol, child_identifier, child_uuid);
CREATE TABLE T_node
(
id number(19,0) NOT NULL,
protocol varchar2(50) NOT NULL,
identifier varchar2(100) NOT NULL,
uuid varchar2(36) NOT NULL,
acl_id number(19,0) default NULL,
type_qname varchar2(255) NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX IDX_NODE_REF ON T_node(protocol, identifier, uuid);
CREATE TABLE T_node_aspects
(
protocol varchar2(50) NOT NULL,
identifier varchar2(100) NOT NULL,
uuid varchar2(36) NOT NULL,
node_id number(19,0),
qname varchar2(200) default NULL
);
CREATE INDEX IDX_ASPECTS_REF ON T_node_aspects(protocol, identifier, uuid);
CREATE TABLE T_node_assoc
(
id number(19,0) NOT NULL,
source_node_id number(19,0) default NULL,
source_protocol varchar2(50) default NULL,
source_identifier varchar2(100) default NULL,
source_uuid varchar2(36) default NULL,
target_node_id number(19,0) default NULL,
target_protocol varchar2(50) default NULL,
target_identifier varchar2(100) default NULL,
target_uuid varchar2(36) default NULL,
type_qname varchar2(255) NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX IDX_NA_SOURCE on T_node_assoc(source_protocol, source_identifier, source_uuid);
CREATE INDEX IDX_NA_TARGET on T_node_assoc(target_protocol, target_identifier, target_uuid);
CREATE TABLE T_node_status
(
protocol varchar2(50) NOT NULL,
identifier varchar2(100) NOT NULL,
guid varchar2(36) NOT NULL,
node_id number(19,0) default NULL,
change_txn_id varchar2(56) NOT NULL,
deleted number(1,0) NOT NULL,
primary key (protocol, identifier, guid)
);
CREATE TABLE T_permission
(
id number(19,0) NOT NULL,
type_qname varchar2(200) NOT NULL,
name varchar2(100) NOT NULL,
PRIMARY KEY (id),
unique (type_qname, name)
);
CREATE TABLE T_store
(
protocol varchar2(50) NOT NULL,
identifier varchar2(100) NOT NULL,
root_node_id number(19,0) default NULL,
primary key (protocol, identifier)
);
CREATE TABLE T_version_count
(
protocol varchar2(50) NOT NULL,
identifier varchar2(100) NOT NULL,
version_count number(10,0) NOT NULL,
primary key (protocol, identifier)
);
create sequence hibernate_sequence;
--
-- Copy data from old tables to intermediate tables
--
insert into T_store (protocol, identifier)
select protocol, identifier from store;
insert into T_node (id, protocol, identifier, uuid, type_qname)
select hibernate_sequence.nextval, protocol, identifier, guid, type_qname from node;
update T_store tstore set root_node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tstore.protocol and
tnode.identifier = tstore.identifier and
tnode.uuid =
(select ostore.root_guid from store ostore where
ostore.protocol = tstore.protocol and
ostore.identifier = tstore.identifier
)
);
insert into t_version_count (protocol, identifier, version_count)
select protocol, identifier, version_count from version_count;
insert into t_node_status (protocol, identifier, guid, change_txn_id, deleted)
select protocol, identifier, guid, change_txn_id, deleted from node_status;
update T_node_status tstatus set node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tstatus.protocol and
tnode.identifier = tstatus.identifier and
tnode.uuid = tstatus.guid
);
insert into T_node_aspects
(
protocol, identifier, uuid, qname
)
select
protocol, identifier, guid, qname
from node_aspects;
update T_node_aspects taspects set node_id =
(select tnode.id from T_node tnode where
tnode.protocol = taspects.protocol and
tnode.identifier = taspects.identifier and
tnode.uuid = taspects.uuid
);
insert into T_child_assoc
(
id, parent_protocol, parent_identifier, parent_uuid,
child_protocol, child_identifier, child_uuid,
type_qname, qname, is_primary, assoc_index
)
select
hibernate_sequence.nextval, parent_protocol, parent_identifier, parent_guid,
child_protocol, child_identifier, child_guid,
type_qname, qname, isPrimary, assoc_index
from
child_assoc;
update T_child_assoc tassoc set parent_node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tassoc.parent_protocol and
tnode.identifier = tassoc.parent_identifier and
tnode.uuid = tassoc.parent_uuid
);
update T_child_assoc tassoc set child_node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tassoc.child_protocol and
tnode.identifier = tassoc.child_identifier and
tnode.uuid = tassoc.child_uuid
);
insert into T_node_assoc
(
id, source_protocol, source_identifier, source_uuid,
target_protocol, target_identifier, target_uuid,
type_qname
)
select
hibernate_sequence.nextval, source_protocol, source_identifier, source_guid,
target_protocol, target_identifier, target_guid,
type_qname
from
node_assoc;
update T_node_assoc tassoc set source_node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tassoc.source_protocol and
tnode.identifier = tassoc.source_identifier and
tnode.uuid = tassoc.source_uuid
);
update T_node_assoc tassoc set target_node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tassoc.target_protocol and
tnode.identifier = tassoc.target_identifier and
tnode.uuid = tassoc.target_uuid
);
insert into T_permission
(
id, type_qname, name
)
select
hibernate_sequence.nextval, '{' || type_uri || '}' || type_name, name
from
permission_ref;
insert into T_access_control_list
(
id, protocol, identifier, uuid, inherits
)
select
hibernate_sequence.nextval, protocol, identifier, guid, inherits
from node_permission;
update T_node tnode set acl_id =
(select tacl.id from T_access_control_list tacl where
tacl.protocol = tnode.protocol and
tacl.identifier = tnode.identifier and
tacl.uuid = tnode.uuid
);
insert into T_auth_ext_keys
(
id, externalKey
)
select
id, externalKey
from
externalkeys;
insert into T_authority
(
recipient
)
select
recipient
from
recipient;
insert into T_access_control_entry
(
id, protocol, identifier, uuid,
typeUri, typeName, name,
recipient,
allowed
)
select
hibernate_sequence.nextval, e.protocol, e.identifier, e.guid,
e.typeUri, e.typeName, e.name,
e.recipient,
e.allowed
from node_perm_entry e join t_node n on e.protocol = n.protocol and e.identifier = n.identifier and e.guid = n.uuid
;
update T_access_control_entry tentry
set
acl_id =
(
select
tacl.id
from T_access_control_list tacl
join T_node tnode on tacl.id = tnode.acl_id
where
tnode.protocol = tentry.protocol and
tnode.identifier = tentry.identifier and
tnode.uuid = tentry.uuid
);
update T_access_control_entry tentry
set
tentry.permission_id =
(
select
tpermission.id
from T_permission tpermission
where
tpermission.type_qname = '{' || tentry.typeUri || '}' || tentry.typeName and
tpermission.name = tentry.name
);
update T_access_control_entry tentry
set
tentry.authority_id =
(
select
tauthority.recipient
from T_authority tauthority
where
tauthority.recipient = tentry.recipient
);
delete from T_access_control_list where id not in (select distinct(acl_id) id from t_access_control_entry where acl_id is not null);
delete from T_access_control_entry where acl_id is null;
update T_node set acl_id = null where acl_id not in (select id from t_access_control_list);
--
-- Create New schema (Oracle)
--
DROP TABLE child_assoc cascade constraints;
DROP TABLE node_assoc cascade constraints;
DROP TABLE node_aspects cascade constraints;
DROP TABLE node cascade constraints;
DROP TABLE node_status cascade constraints;
DROP TABLE version_count cascade constraints;
DROP TABLE store cascade constraints;
DROP TABLE node_perm_entry cascade constraints;
DROP TABLE node_permission cascade constraints;
DROP TABLE permission_ref cascade constraints;
DROP TABLE recipient cascade constraints;
DROP TABLE externalKeys cascade constraints;
create table access_control_entry
(
id number(19,0) not null,
acl_id number(19,0) not null,
permission_id number(19,0) not null,
authority_id varchar2(100) not null,
allowed number(1,0) not null,
primary key (id),
unique (acl_id, permission_id, authority_id)
);
create table access_control_list
(
id number(19,0) not null,
inherits number(1,0) not null,
primary key (id)
);
create table auth_ext_keys
(
id varchar2(100) not null,
externalKey varchar2(100) not null,
primary key (id, externalKey)
);
create table authority
(
recipient varchar2(100) not null,
primary key (recipient)
);
create table child_assoc
(
id number(19,0) not null,
parent_node_id number(19,0),
child_node_id number(19,0),
type_qname varchar2(255) not null,
qname varchar2(255) not null,
is_primary number(1,0),
assoc_index number(10,0),
primary key (id)
);
create table node
(
id number(19,0) not null,
protocol varchar2(50) not null,
identifier varchar2(100) not null,
uuid varchar2(36) not null,
type_qname varchar2(255) not null,
acl_id number(19,0),
primary key (id),
unique (protocol, identifier, uuid)
);
create table node_aspects
(
node_id number(19,0) not null,
qname varchar2(200)
);
create table node_assoc
(
id number(19,0) not null,
source_node_id number(19,0),
target_node_id number(19,0),
type_qname varchar2(255) not null,
primary key (id)
);
create table node_status
(
protocol varchar2(50) not null,
identifier varchar2(100) not null,
guid varchar2(36) not null,
node_id number(19,0),
change_txn_id varchar2(56) not null,
primary key (protocol, identifier, guid)
);
create table permission
(
id number(19,0) not null,
type_qname varchar2(200) not null,
name varchar2(100) not null,
primary key (id),
unique (type_qname, name)
);
create table store
(
protocol varchar2(50) not null,
identifier varchar2(100) not null,
root_node_id number(19,0),
primary key (protocol, identifier)
);
create table version_count
(
protocol varchar2(100) not null,
identifier varchar2(100) not null,
version_count number(10,0) not null,
primary key (protocol, identifier)
);
--
-- Copy data into new schema
--
insert into store
(
protocol, identifier, root_node_id
)
select
protocol, identifier, root_node_id
from
T_store;
insert into node
(
id, protocol, identifier, uuid, type_qname, acl_id
)
select
id, protocol, identifier, uuid, type_qname, acl_id
from
T_node;
insert into version_count
(
protocol, identifier, version_count
)
select
protocol, identifier, version_count
from
T_version_count;
insert into node_status
(
protocol, identifier, guid, node_id, change_txn_id
)
select
protocol, identifier, guid, node_id, change_txn_id
from
T_node_status;
alter table node_properties add (node_id number(19,0));
update node_properties tproperties set node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tproperties.protocol and
tnode.identifier = tproperties.identifier and
tnode.uuid = tproperties.guid
);
alter table node_properties modify (node_id number(19,0) not null);
alter table node_properties drop primary key;
alter table node_properties add primary key (node_id, qname);
alter table node_properties drop column protocol;
alter table node_properties drop column identifier;
alter table node_properties drop column guid;
insert into node_aspects
(
node_id, qname
)
select
node_id, qname
from
T_node_aspects;
insert into child_assoc
(
id, parent_node_id, child_node_id, type_qname, qname, is_primary, assoc_index
)
select
id, parent_node_id, child_node_id, type_qname, qname, is_primary, assoc_index
from
T_child_assoc;
insert into node_assoc
(
id, source_node_id, target_node_id, type_qname
)
select
id, source_node_id, target_node_id, type_qname
from
T_node_assoc;
insert into permission
(
id, type_qname, name
)
select
id, type_qname, name
from
T_permission;
insert into access_control_list
(
id, inherits
)
select
id, inherits
from
T_access_control_list;
insert into auth_ext_keys
(
id, externalKey
)
select
id, externalKey
from
T_auth_ext_keys;
insert into authority
(
recipient
)
select
recipient
from
T_authority;
insert into access_control_entry
(
id, acl_id, permission_id, authority_id, allowed
)
select
id, acl_id, permission_id, authority_id, allowed
from
T_access_control_entry;
-- Enable constraints
alter table access_control_entry add constraint FKF064DF7560601995 foreign key (permission_id) references permission;
alter table access_control_entry add constraint FKF064DF75B25A50BF foreign key (authority_id) references authority;
alter table access_control_entry add constraint FKF064DF75B9553F6C foreign key (acl_id) references access_control_list;
alter table auth_ext_keys add constraint FK31D3BA097B7FDE43 foreign key (id) references authority;
alter table child_assoc add constraint FKC6EFFF3274173FF4 foreign key (child_node_id) references node;
alter table child_assoc add constraint FKC6EFFF328E50E582 foreign key (parent_node_id) references node;
alter table node add constraint FK33AE02B9553F6C foreign key (acl_id) references access_control_list;
alter table node add constraint FK33AE02D24ADD25 foreign key (protocol, identifier) references store;
alter table node_properties add constraint FKC962BF907F2C8017 foreign key (node_id) references node;
alter table node_aspects add constraint FK2B91A9DE7F2C8017 foreign key (node_id) references node;
alter table node_assoc add constraint FK5BAEF398B69C43F3 foreign key (source_node_id) references node;
alter table node_assoc add constraint FK5BAEF398A8FC7769 foreign key (target_node_id) references node;
alter table node_status add constraint FK38ECB8CF7F2C8017 foreign key (node_id) references node;
alter table store add constraint FK68AF8E122DBA5BA foreign key (root_node_id) references node;
-- Add additional indexes
CREATE INDEX FKF064DF7560601995 ON access_control_entry (permission_id);
CREATE INDEX FKF064DF75B25A50BF ON access_control_entry (authority_id);
CREATE INDEX FKF064DF75B9553F6C ON access_control_entry (acl_id);
CREATE INDEX FK31D3BA097B7FDE43 ON auth_ext_keys (id);
CREATE INDEX FKC6EFFF3274173FF4 ON child_assoc (child_node_id);
CREATE INDEX FKC6EFFF328E50E582 ON child_assoc (parent_node_id);
CREATE INDEX FK33AE02B9553F6C ON node (acl_id);
CREATE INDEX FK33AE02D24ADD25 ON node (protocol, identifier);
CREATE INDEX FK2B91A9DE7F2C8017 ON node_aspects (node_id);
CREATE INDEX FK5BAEF398B69C43F3 ON node_assoc (source_node_id);
CREATE INDEX FK5BAEF398A8FC7769 ON node_assoc (target_node_id);
CREATE INDEX FKC962BF907F2C8017 ON node_properties (node_id);
CREATE INDEX FK38ECB8CF7F2C8017 ON node_status (node_id);
CREATE INDEX FK68AF8E122DBA5BA ON store (root_node_id);
ALTER TABLE applied_patch MODIFY id varchar(64);

View File

@@ -1,92 +0,0 @@
-- ------------------------------------------------------
-- Alfresco Schema conversion V1.3 to V1.4 Part 1 (Oracle)
--
-- Adds the columns required to enforce the duplicate name detection
--
-- Author: Derek Hulley
-- ------------------------------------------------------
--
-- Unique name constraint
--
-- Apply new schema changes to child assoc table
ALTER TABLE child_assoc ADD
(
child_node_name VARCHAR2(50 CHAR) DEFAULT 'V1.4 upgrade' NOT NULL,
child_node_name_crc NUMBER(19,0) DEFAULT -1 NOT NULL
);
UPDATE child_assoc
SET child_node_name_crc = id * -1;
CREATE UNIQUE INDEX IDX_CHILD_NAMECRC ON child_assoc (parent_node_id, type_qname, child_node_name, child_node_name_crc);
-- Apply unique index for node associations
CREATE UNIQUE INDEX IDX_ASSOC ON node_assoc (source_node_id, type_qname, target_node_id);
--
-- Rename tables to give 'alf_' prefix
--
ALTER TABLE access_control_entry RENAME TO alf_access_control_entry;
ALTER TABLE access_control_list RENAME TO alf_access_control_list;
ALTER TABLE applied_patch RENAME TO alf_applied_patch;
ALTER TABLE auth_ext_keys RENAME TO alf_auth_ext_keys;
ALTER TABLE authority RENAME TO alf_authority;
ALTER TABLE child_assoc RENAME TO alf_child_assoc;
ALTER TABLE node RENAME TO alf_node;
ALTER TABLE node_aspects RENAME TO alf_node_aspects;
ALTER TABLE node_assoc RENAME TO alf_node_assoc;
ALTER TABLE node_properties RENAME TO alf_node_properties;
ALTER TABLE node_status RENAME TO alf_node_status;
ALTER TABLE permission RENAME TO alf_permission;
ALTER TABLE store RENAME TO alf_store;
ALTER TABLE version_count RENAME TO alf_version_count;
--
-- The table renames will cause Hibernate to rehash the FK constraint names
--
ALTER TABLE alf_access_control_entry RENAME CONSTRAINT FKF064DF7560601995 TO FKFFF41F9960601995;
ALTER TABLE alf_access_control_entry RENAME CONSTRAINT FKF064DF75B25A50BF TO FKFFF41F99B25A50BF;
ALTER TABLE alf_access_control_entry RENAME CONSTRAINT FKF064DF75B9553F6C TO FKFFF41F99B9553F6C;
ALTER TABLE alf_auth_ext_keys RENAME CONSTRAINT FK31D3BA097B7FDE43 TO FK8A749A657B7FDE43;
ALTER TABLE alf_child_assoc RENAME CONSTRAINT FKC6EFFF3274173FF4 TO FKFFC5468E74173FF4;
ALTER TABLE alf_child_assoc RENAME CONSTRAINT FKC6EFFF328E50E582 TO FKFFC5468E8E50E582;
ALTER TABLE alf_node RENAME CONSTRAINT FK33AE02B9553F6C TO FK60EFB626B9553F6C;
ALTER TABLE alf_node RENAME CONSTRAINT FK33AE02D24ADD25 TO FK60EFB626D24ADD25;
ALTER TABLE alf_node_properties RENAME CONSTRAINT FKC962BF907F2C8017 TO FK7D4CF8EC7F2C8017;
ALTER TABLE alf_node_aspects RENAME CONSTRAINT FK2B91A9DE7F2C8017 TO FKD654E027F2C8017;
ALTER TABLE alf_node_assoc RENAME CONSTRAINT FK5BAEF398B69C43F3 TO FKE1A550BCB69C43F3;
ALTER TABLE alf_node_assoc RENAME CONSTRAINT FK5BAEF398A8FC7769 TO FKE1A550BCA8FC7769;
ALTER TABLE alf_node_status RENAME CONSTRAINT FK38ECB8CF7F2C8017 TO FK71C2002B7F2C8017;
ALTER TABLE alf_store RENAME CONSTRAINT FK68AF8E122DBA5BA TO FKBD4FF53D22DBA5BA;
--
-- Rename the indexes to keep in synch with the new table names. For Oracle, Hibernate doesn't create or add these
--
ALTER INDEX FKF064DF7560601995 RENAME TO FKFFF41F9960601995;
ALTER INDEX FKF064DF75B25A50BF RENAME TO FKFFF41F99B25A50BF;
ALTER INDEX FKF064DF75B9553F6C RENAME TO FKFFF41F99B9553F6C;
ALTER INDEX FK31D3BA097B7FDE43 RENAME TO FK8A749A657B7FDE43;
ALTER INDEX FKC6EFFF3274173FF4 RENAME TO FKFFC5468E74173FF4;
ALTER INDEX FKC6EFFF328E50E582 RENAME TO FKFFC5468E8E50E582;
ALTER INDEX FK33AE02B9553F6C RENAME TO FK60EFB626B9553F6C;
ALTER INDEX FK33AE02D24ADD25 RENAME TO FK60EFB626D24ADD25;
ALTER INDEX FKC962BF907F2C8017 RENAME TO FK7D4CF8EC7F2C8017;
ALTER INDEX FK2B91A9DE7F2C8017 RENAME TO FKD654E027F2C8017;
ALTER INDEX FK5BAEF398B69C43F3 RENAME TO FKE1A550BCB69C43F3;
ALTER INDEX FK5BAEF398A8FC7769 RENAME TO FKE1A550BCA8FC7769;
ALTER INDEX FK38ECB8CF7F2C8017 RENAME TO FK71C2002B7F2C8017;
ALTER INDEX FK68AF8E122DBA5BA RENAME TO FKBD4FF53D22DBA5BA;
--
-- Record script finish
--
delete from alf_applied_patch where id = 'patch.schemaUpdateScript-V1.4-1';
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.schemaUpdateScript-V1.4-1', 'Manually execute script upgrade V1.4 part 1',
0, 19, -1, 20, sysdate, 'UNKOWN', 1, 1, 'Script completed'
);

View File

@@ -1,69 +0,0 @@
-- ------------------------------------------------------
-- Alfresco Schema conversion V1.3 to V1.4 Part 2 (Oracle)
--
-- Adds the alf_transaction and alf_server tables to keep track of the sources
-- of transactions.
--
-- Author: Derek Hulley
-- ------------------------------------------------------
--
-- Create server and transaction tables
--
create table alf_server
(
id number(19,0) not null,
ip_address varchar2(15 char) not null,
primary key (id),
unique (ip_address)
);
insert into alf_server (id, ip_address) values (0, '0.0.0.0');
create table alf_transaction
(
id number(19,0) not null,
server_id number(19,0),
change_txn_id varchar2(56 char) not null,
primary key (id)
);
alter table alf_transaction add constraint FKB8761A3A9AE340B7 foreign key (server_id) references alf_server;
create index FKB8761A3A9AE340B7 on alf_transaction (server_id);
insert into alf_transaction
(
id, server_id, change_txn_id
)
select
hibernate_sequence.nextval,
(select max(id) from alf_server),
change_txn_id
from alf_node_status;
-- Alter node status
alter table alf_node_status add
(
transaction_id number(19,0) DEFAULT 0 NOT NULL
);
-- Update FK column
update alf_node_status ns SET ns.transaction_id =
(
select t.id from alf_transaction t
where t.change_txn_id = ns.change_txn_id and rownum = 1
);
alter table alf_node_status DROP COLUMN change_txn_id;
alter table alf_node_status ADD CONSTRAINT FK71C2002B9E57C13D FOREIGN KEY (transaction_id) REFERENCES alf_transaction (id);
create index FK71C2002B9E57C13D on alf_node_status (transaction_id);
alter table alf_node_status DROP COLUMN deleted;(optional)
--
-- Record script finish
--
delete from alf_applied_patch where id = 'patch.schemaUpdateScript-V1.4-2';
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.schemaUpdateScript-V1.4-2', 'Manually execute script upgrade V1.4 part 2',
0, 20, -1, 21, sysdate, 'UNKOWN', 1, 1, 'Script completed'
);

View File

@@ -1,17 +0,0 @@
--
-- Explicit index for alf_transaction.commit_time_ms (PostgreSQL 1.4)
--
UPDATE alf_transaction SET commit_time_ms = id WHERE commit_time_ms IS NULL;
--
-- Record script finish
--
delete from alf_applied_patch where id = 'patch.db-V1.4-TxnCommitTimeIndex';
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-V1.4-TxnCommitTimeIndex', 'Executed script AlfrescoSchemaUpdate-1.4-TxnCommitTimeIndex.sql',
0, 75, -1, 76, null, 'UNKOWN', TRUE, TRUE, 'Script completed'
);

View File

@@ -1,24 +0,0 @@
--
-- Title: Indexes for alf_content_url table
-- Database: PostgreSQL
-- Since: V2.0 Schema 44
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
-- Content URLs
SELECT COUNT(*) FROM alf_content_url;
CREATE INDEX idx_alf_con_urls ON alf_content_url (content_url);(optional)
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.0-ContentUrls';
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-V2.0-ContentUrls', 'Manually executed script upgrade V2.0: Indexes for alf_content_url table',
0, 123, -1, 124, null, 'UNKOWN', TRUE, TRUE, 'Script completed'
);

View File

@@ -1,22 +0,0 @@
--
-- Title: Jbpm 3.2 Process Instance Key
-- Database: SQL Server
-- Since: V2.1 Schema 63
-- Author: David Caruana
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
UPDATE JBPM_PROCESSINSTANCE SET KEY_ = STR(ID_) WHERE KEY_ IS NULL;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-JBPMProcessKey';
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-V2.1-JBPMProcessKey', 'Manually executed script upgrade V2.1: JBPM 3.2 Process Instance Key',
0, 62, -1, 63, null, 'UNKOWN', 1, 1, 'Script completed'
);

View File

@@ -1,21 +0,0 @@
--
-- Title: Add text columns that allow null
-- Database: SQL Server
-- Since: V2.1 Schema 64
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
-- This is a Sybase issue, so nothing is required here.
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-NotNullColumns';
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-V2.1-NotNullColumns', 'Manually executed script upgrade V2.1: Add nullable columns',
0, 63, -1, 64, null, 'UNKOWN', 1, 1, 'Script completed'
);

View File

@@ -1,29 +0,0 @@
--
-- Title: Jbpm 3.1.2 -> 3.2 Data Migration
-- Database: PostgreSQL
-- Since: V2.1 Schema 52
-- Author: David Caruana
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
UPDATE JBPM_TASK SET PRIORITY_ = 2;
UPDATE JBPM_NODE SET ISASYNCEXCL_ = FALSE;
UPDATE JBPM_MODULEINSTANCE SET VERSION_ = 0;
UPDATE JBPM_POOLEDACTOR SET VERSION_ = 0;
UPDATE JBPM_SWIMLANEINSTANCE SET VERSION_ = 0;
UPDATE JBPM_TASKINSTANCE SET VERSION_ = 0;
UPDATE JBPM_TOKENVARIABLEMAP SET VERSION_ = 0;
UPDATE JBPM_VARIABLEINSTANCE SET VERSION_ = 0;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-JBPMUpdate';
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-V2.1-JBPMUpdate', 'Manually executed script upgrade V2.1: JBPM 3.1.2 to 3.2 Data Upgrade',
0, 51, -1, 52, null, 'UNKOWN', TRUE, TRUE, 'Script completed'
);

View File

@@ -1,22 +0,0 @@
--
-- Title: Jbpm 3.2 Process Instance Key
-- Database: PostgreSQL
-- Since: V2.1 Schema 63
-- Author: David Caruana
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
UPDATE JBPM_PROCESSINSTANCE SET KEY_ = ID_ WHERE KEY_ IS NULL;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-JBPMProcessKey';
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-V2.1-JBPMProcessKey', 'Manually executed script upgrade V2.1: JBPM 3.2 Process Instance Key',
0, 62, -1, 63, null, 'UNKOWN', TRUE, TRUE, 'Script completed'
);

View File

@@ -1,21 +0,0 @@
--
-- Title: Add text columns that allow null
-- Database: PostgreSQL
-- Since: V2.1 Schema 64
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
-- This is a Sybase issue, so nothing is required here.
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-NotNullColumns';
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-V2.1-NotNullColumns', 'Manually executed script upgrade V2.1: Add nullable columns',
0, 63, -1, 64, null, 'UNKOWN', TRUE, TRUE, 'Script completed'
);

View File

@@ -1,36 +0,0 @@
--
-- Title: Remove wcmwf:submitted Aspect
-- Database: PostgreSQL
-- Since: V2.1 Schema 73
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
-- This removes the wcmwf:submitted aspect along with the wcmwf:workflowInstanceId property
-- from the AVM nodes.
-- PostgreSQL requires TRUE for boolean values.
DELETE FROM avm_aspects WHERE EXISTS
(
SELECT q.id FROM alf_qname q
JOIN alf_namespace n ON (q.ns_id = n.id)
WHERE n.uri = 'http://www.alfresco.org/model/wcmworkflow/1.0' and q.local_name = 'submitted' AND q.id = avm_aspects.qname_id
);
DELETE FROM avm_node_properties WHERE EXISTS
(
SELECT q.id FROM alf_qname q
JOIN alf_namespace n ON (q.ns_id = n.id)
WHERE n.uri = 'http://www.alfresco.org/model/wcmworkflow/1.0' and q.local_name = 'workflowInstanceId' AND q.id = avm_node_properties.qname_id
);
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-RemoveWcmSubmittedAspect';
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-V2.1-RemoveWcmSubmittedAspect', 'Manually executed script upgrade V2.1: Remove wcmwf:submitted aspect',
0, 72, -1, 73, null, 'UNKOWN', TRUE, TRUE, 'Script completed'
);

View File

@@ -1,33 +0,0 @@
--
-- Title: Fill 'version' columns with data
-- Database: PostgreSQL
-- Since: V2.1 Schema 54
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
UPDATE alf_store SET version = 1 WHERE version IS NULL;
UPDATE alf_node SET version = 1 WHERE version IS NULL;
UPDATE alf_child_assoc SET version = 1 WHERE version IS NULL;
UPDATE alf_node_assoc SET version = 1 WHERE version IS NULL;
UPDATE alf_node_status SET version = 1 WHERE version IS NULL;
UPDATE alf_transaction SET version = 1 WHERE version IS NULL;
UPDATE alf_server SET version = 1 WHERE version IS NULL;
UPDATE alf_access_control_list SET version = 1 WHERE version IS NULL;
UPDATE alf_access_control_entry SET version = 1 WHERE version IS NULL;
UPDATE alf_permission SET version = 1 WHERE version IS NULL;
UPDATE alf_authority SET version = 1 WHERE version IS NULL;
UPDATE alf_version_count SET version = 1 WHERE version IS NULL;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-VersionColumns2';
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-V2.1-VersionColumns2', 'Manually executed script upgrade V2.1: Created initial version number for ADM entities',
0, 63, -1, 64, null, 'UNKOWN', TRUE, TRUE, 'Script completed'
);

View File

@@ -1,15 +0,0 @@
/*
* Solution to PostgreSQL issue:
* function information_schema._pg_keypositions() does not exist
* Taken from: http://archives.postgresql.org/pgsql-general/2005-12/msg00060.php
* Author: Jason Long
* Tested against PostgreSQL 8.2
* First seen during upgrade testing of PostgreSQL from Alfresco 1.4.3 to 2.0
*/
SET search_path TO information_schema, public;
CREATE FUNCTION _pg_keypositions() RETURNS SETOF integer
LANGUAGE sql
IMMUTABLE
AS 'select g.s
from generate_series(1,current_setting(''max_index_keys'')::int,1)
as g(s)';

View File

@@ -1,53 +0,0 @@
--
-- Title: ADD text columns that allow null
-- Database: Sybase
-- Since: V2.1 Schema 64
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
-- Sybase won't allow ALTER TABLE commands where the text columns are not null.
-- Where the nullability is not explicitly set, Sybase assumes NOT NULL.
-- JBPM
ALTER TABLE JBPM_NODE ADD DESCRIPTION_ text NULL;
ALTER TABLE JBPM_NODE ADD ISASYNCEXCL_ tinyint DEFAULT 0;
ALTER TABLE JBPM_NODE ADD SUBPROCNAME_ text NULL;
ALTER TABLE JBPM_NODE ADD SCRIPT_ numeric(19,0) NULL;
ALTER TABLE JBPM_PROCESSDEFINITION ADD CLASS_ char(1) NOT NULL DEFAULT 'P';
ALTER TABLE JBPM_PROCESSDEFINITION ADD DESCRIPTION_ text NULL;
ALTER TABLE JBPM_PROCESSINSTANCE ADD KEY_ text NULL;
ALTER TABLE JBPM_TASK ADD CONDITION_ text NULL;
ALTER TABLE JBPM_TASK ADD PRIORITY_ int DEFAULT 2;
ALTER TABLE JBPM_TASKINSTANCE ADD PROCINST_ numeric(19,0) NULL;
ALTER TABLE JBPM_TOKEN ADD LOCK_ text NULL;
ALTER TABLE JBPM_TRANSITION ADD DESCRIPTION_ text NULL;
ALTER TABLE JBPM_TRANSITION ADD CONDITION_ text NULL;
-- ALFRESCO
ALTER TABLE alf_access_control_entry ADD version numeric(19,0) DEFAULT 0;
ALTER TABLE alf_access_control_list ADD version numeric(19,0) DEFAULT 0;
ALTER TABLE alf_authority ADD version numeric(19,0) DEFAULT 0;
ALTER TABLE alf_child_assoc ADD version numeric(19,0) DEFAULT 0;
ALTER TABLE alf_node ADD version numeric(19,0) DEFAULT 0;
ALTER TABLE alf_node_assoc ADD version numeric(19,0) DEFAULT 0;
ALTER TABLE alf_node_properties ADD attribute_value numeric(19,0) NULL;
ALTER TABLE alf_node_status ADD version numeric(19,0) DEFAULT 0;
ALTER TABLE alf_permission ADD version numeric(19,0) DEFAULT 0;
ALTER TABLE alf_server ADD version numeric(19,0) DEFAULT 0;
ALTER TABLE alf_store ADD version numeric(19,0) DEFAULT 0;
ALTER TABLE alf_transaction ADD version numeric(19,0) DEFAULT 0;
ALTER TABLE alf_version_count ADD version numeric(19,0) DEFAULT 0;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-NotNullColumns';
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-V2.1-NotNullColumns', 'Manually executed script upgrade V2.1: ADD nullable text columns for Sybase',
0, 63, -1, 64, null, 'UNKOWN', 1, 1, 'Script completed'
);