mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
AVM DAO refactor
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16138 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -39,15 +39,3 @@ ALTER TABLE alf_node_properties ADD CONSTRAINT fk_alf_nprop_loc FOREIGN KEY (loc
|
||||
CREATE INDEX fk_alf_perm_tqn ON alf_permission (type_qname_id);
|
||||
ALTER TABLE alf_permission ADD CONSTRAINT fk_alf_perm_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id);
|
||||
|
||||
CREATE INDEX fk_avm_nasp_qn ON avm_aspects (qname_id);
|
||||
ALTER TABLE avm_aspects ADD CONSTRAINT fk_avm_nasp_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id);
|
||||
|
||||
CREATE INDEX fk_avm_nprop_qn ON avm_node_properties (qname_id);
|
||||
ALTER TABLE avm_node_properties ADD CONSTRAINT fk_avm_nprop_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id);
|
||||
|
||||
CREATE INDEX fk_avm_sprop_qname ON avm_store_properties (qname_id);
|
||||
ALTER TABLE avm_store_properties ADD CONSTRAINT fk_avm_sprop_qname FOREIGN KEY (qname_id) REFERENCES alf_qname (id);
|
||||
|
||||
CREATE INDEX idx_avm_hl_revpk ON avm_history_links (descendent, ancestor);
|
||||
|
||||
CREATE INDEX idx_avm_vr_revuq ON avm_version_roots (avm_store_id, version_id);
|
||||
|
@@ -0,0 +1,248 @@
|
||||
--
|
||||
-- Title: Create AVM tables
|
||||
-- Database: MySQL InnoDB
|
||||
-- Since: V3.2.0 Schema 3002
|
||||
-- Author: janv
|
||||
--
|
||||
-- Please contact support@alfresco.com if you need assistance with the upgrade.
|
||||
--
|
||||
|
||||
create table avm_aspects (
|
||||
node_id bigint not null,
|
||||
qname_id bigint not null,
|
||||
primary key (node_id, qname_id)
|
||||
) type=InnoDB;
|
||||
|
||||
create table avm_child_entries (
|
||||
parent_id bigint not null,
|
||||
name varchar(160) not null,
|
||||
child_id bigint not null,
|
||||
primary key (parent_id, name)
|
||||
) type=InnoDB;
|
||||
|
||||
create table avm_history_links (
|
||||
ancestor bigint not null,
|
||||
descendent bigint not null,
|
||||
primary key (ancestor, descendent)
|
||||
) type=InnoDB;
|
||||
|
||||
create table avm_merge_links (
|
||||
mfrom bigint not null,
|
||||
mto bigint not null,
|
||||
primary key (mfrom, mto)
|
||||
) type=InnoDB;
|
||||
|
||||
create table avm_node_properties (
|
||||
node_id bigint not null,
|
||||
actual_type_n integer not null,
|
||||
persisted_type_n integer not null,
|
||||
multi_valued bit not null,
|
||||
boolean_value bit,
|
||||
long_value bigint,
|
||||
float_value float,
|
||||
double_value double precision,
|
||||
string_value text,
|
||||
serializable_value blob,
|
||||
qname_id bigint not null,
|
||||
primary key (node_id, qname_id)
|
||||
) type=InnoDB;
|
||||
|
||||
create table avm_nodes (
|
||||
id bigint not null auto_increment,
|
||||
class_type varchar(20) not null,
|
||||
vers bigint not null,
|
||||
version_id integer not null,
|
||||
guid varchar(36),
|
||||
creator varchar(255) not null,
|
||||
owner varchar(255) not null,
|
||||
lastModifier varchar(255) not null,
|
||||
createDate bigint not null,
|
||||
modDate bigint not null,
|
||||
accessDate bigint not null,
|
||||
is_root bit,
|
||||
store_new_id bigint,
|
||||
acl_id bigint,
|
||||
deletedType integer,
|
||||
layer_id bigint,
|
||||
indirection text,
|
||||
indirection_version integer,
|
||||
primary_indirection bit,
|
||||
opacity bit,
|
||||
content_url varchar(128),
|
||||
mime_type varchar(100),
|
||||
encoding varchar(16),
|
||||
length bigint,
|
||||
primary key (id)
|
||||
) type=InnoDB;
|
||||
|
||||
create table avm_store_properties (
|
||||
id bigint not null auto_increment,
|
||||
avm_store_id bigint,
|
||||
qname_id bigint not null,
|
||||
actual_type_n integer not null,
|
||||
persisted_type_n integer not null,
|
||||
multi_valued bit not null,
|
||||
boolean_value bit,
|
||||
long_value bigint,
|
||||
float_value float,
|
||||
double_value double precision,
|
||||
string_value text,
|
||||
serializable_value blob,
|
||||
primary key (id)
|
||||
) type=InnoDB;
|
||||
|
||||
create table avm_stores (
|
||||
id bigint not null auto_increment,
|
||||
vers bigint not null,
|
||||
name varchar(255) unique,
|
||||
next_version_id integer not null,
|
||||
current_root_id bigint,
|
||||
acl_id bigint,
|
||||
primary key (id)
|
||||
) type=InnoDB;
|
||||
|
||||
create table avm_version_layered_node_entry (
|
||||
version_root_id bigint not null,
|
||||
md5sum varchar(32) not null,
|
||||
path text,
|
||||
primary key (version_root_id, md5sum)
|
||||
) type=InnoDB;
|
||||
|
||||
create table avm_version_roots (
|
||||
id bigint not null auto_increment,
|
||||
version_id integer not null,
|
||||
avm_store_id bigint not null,
|
||||
create_date bigint not null,
|
||||
creator varchar(255) not null,
|
||||
root_id bigint not null,
|
||||
tag varchar(255),
|
||||
description text,
|
||||
primary key (id),
|
||||
unique (version_id, avm_store_id)
|
||||
) type=InnoDB;
|
||||
|
||||
alter table avm_aspects
|
||||
add index fk_avm_nasp_n (node_id),
|
||||
add constraint fk_avm_nasp_n
|
||||
foreign key (node_id)
|
||||
references avm_nodes (id);
|
||||
|
||||
alter table avm_child_entries
|
||||
add index fk_avm_ce_child (child_id),
|
||||
add constraint fk_avm_ce_child
|
||||
foreign key (child_id)
|
||||
references avm_nodes (id);
|
||||
|
||||
alter table avm_child_entries
|
||||
add index fk_avm_ce_parent (parent_id),
|
||||
add constraint fk_avm_ce_parent
|
||||
foreign key (parent_id)
|
||||
references avm_nodes (id);
|
||||
|
||||
alter table avm_history_links
|
||||
add index fk_avm_hl_desc (descendent),
|
||||
add constraint fk_avm_hl_desc
|
||||
foreign key (descendent)
|
||||
references avm_nodes (id);
|
||||
|
||||
alter table avm_history_links
|
||||
add index fk_avm_hl_ancestor (ancestor),
|
||||
add constraint fk_avm_hl_ancestor
|
||||
foreign key (ancestor)
|
||||
references avm_nodes (id);
|
||||
|
||||
alter table avm_merge_links
|
||||
add index fk_avm_ml_from (mfrom),
|
||||
add constraint fk_avm_ml_from
|
||||
foreign key (mfrom)
|
||||
references avm_nodes (id);
|
||||
|
||||
alter table avm_merge_links
|
||||
add index fk_avm_ml_to (mto),
|
||||
add constraint fk_avm_ml_to
|
||||
foreign key (mto)
|
||||
references avm_nodes (id);
|
||||
|
||||
alter table avm_node_properties
|
||||
add index fk_avm_nprop_n (node_id),
|
||||
add constraint fk_avm_nprop_n
|
||||
foreign key (node_id)
|
||||
references avm_nodes (id);
|
||||
|
||||
create index idx_avm_n_pi on avm_nodes (primary_indirection);
|
||||
|
||||
alter table avm_nodes
|
||||
add index fk_avm_n_acl (acl_id),
|
||||
add constraint fk_avm_n_acl
|
||||
foreign key (acl_id)
|
||||
references alf_access_control_list (id);
|
||||
|
||||
alter table avm_nodes
|
||||
add index fk_avm_n_store (store_new_id),
|
||||
add constraint fk_avm_n_store
|
||||
foreign key (store_new_id)
|
||||
references avm_stores (id);
|
||||
|
||||
alter table avm_store_properties
|
||||
add index fk_avm_sprop_store (avm_store_id),
|
||||
add constraint fk_avm_sprop_store
|
||||
foreign key (avm_store_id)
|
||||
references avm_stores (id);
|
||||
|
||||
alter table avm_stores
|
||||
add index fk_avm_s_root (current_root_id),
|
||||
add constraint fk_avm_s_root
|
||||
foreign key (current_root_id)
|
||||
references avm_nodes (id);
|
||||
|
||||
alter table avm_stores
|
||||
add index fk_avm_s_acl (acl_id),
|
||||
add constraint fk_avm_s_acl
|
||||
foreign key (acl_id)
|
||||
references alf_access_control_list (id);
|
||||
|
||||
alter table avm_version_layered_node_entry
|
||||
add index fk_avm_vlne_vr (version_root_id),
|
||||
add constraint fk_avm_vlne_vr
|
||||
foreign key (version_root_id)
|
||||
references avm_version_roots (id);
|
||||
|
||||
create index idx_avm_vr_version on avm_version_roots (version_id);
|
||||
|
||||
alter table avm_version_roots
|
||||
add index fk_avm_vr_store (avm_store_id),
|
||||
add constraint fk_avm_vr_store
|
||||
foreign key (avm_store_id)
|
||||
references avm_stores (id);
|
||||
|
||||
alter table avm_version_roots
|
||||
add index fk_avm_vr_root (root_id),
|
||||
add constraint fk_avm_vr_root
|
||||
foreign key (root_id)
|
||||
references avm_nodes (id);
|
||||
|
||||
CREATE INDEX fk_avm_nasp_qn ON avm_aspects (qname_id);
|
||||
ALTER TABLE avm_aspects ADD CONSTRAINT fk_avm_nasp_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id);
|
||||
|
||||
CREATE INDEX fk_avm_nprop_qn ON avm_node_properties (qname_id);
|
||||
ALTER TABLE avm_node_properties ADD CONSTRAINT fk_avm_nprop_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id);
|
||||
|
||||
CREATE INDEX fk_avm_sprop_qname ON avm_store_properties (qname_id);
|
||||
ALTER TABLE avm_store_properties ADD CONSTRAINT fk_avm_sprop_qname FOREIGN KEY (qname_id) REFERENCES alf_qname (id);
|
||||
|
||||
CREATE INDEX idx_avm_hl_revpk ON avm_history_links (descendent, ancestor);
|
||||
|
||||
CREATE INDEX idx_avm_vr_revuq ON avm_version_roots (avm_store_id, version_id);
|
||||
|
||||
|
||||
--
|
||||
-- Record script finish
|
||||
--
|
||||
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.2-AvmTables';
|
||||
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-V3.2-AvmTables', 'Manually executed script upgrade V3.2: AVM Tables',
|
||||
0, 3001, -1, 3002, null, 'UNKOWN', 1, 1, 'Script completed'
|
||||
);
|
Reference in New Issue
Block a user