Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-5 to HEAD:

20678: DAO5 branch: Preparation for merge back to HEAD
   20689: Merged DAO4 to DAO5
        - Removed all 'dbscripts/create/3.x/SomeDialect' and replaced with 'dbscripts/create/SomeDialect'
          DB create scripts are taken from latest DAO4
        - TODO: FixAuthoritiesCrcValuesPatch needs query implementation in PatchDAO
        Merged DAO3 to DAO4
           - Reapplied fixes for ALF-713 (race condition on Usages)
           19350: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-2 to BRANCHES/DEV/V3.3-DAO-REFACTOR-3:
               18939: SAIL-4 :2nd stage branch for DAO refactor off HEAD rev 18898
               18948: Merged V3.3-DAO-REFACTOR to V3.3-DAO-REFACTOR-2
                    18202: Dev branch for DAO refactor
                    18252: SAIL-233: QName.hbm.xml
                    18295: Added missing CREATE TABLE statements for QName-related code
                    18324: SAIL-234: Node.hbm.xml: Node aspects initial integration
                    18355: Added 'setValue' method to manually update the cached value
                    18356: MV property stressing lowered to speed test up
                    18357: SAIL-234: Node.hbm.xml
                    18376: Pulled all Alfresco-related create SQL into script
                    18389: SAIL-234: Permissions DAO refactor - initial checkpoint
                    18390: Formatting only (line-endings)
                    18400: SAIL-234: Node.hbm.xml
                    18418: SAIL-234: Node.hbm.xml: 'alf_node_assoc' CRUD
                    18429: SAIL-234: Node.hbm.xml: Cleaned out all Hibernate references to NodeAssocImpl
                    18457: SAIL-234: Permissions DAO refactor
               18959: Merged DEV/V3.3-DAO-REFACTOR to DEV/V3.3-DAO-REFACTOR-2
                    18479: SAIL-234: Node.hbm.xml - fix updateNode (missing id when saving oldDummyNode)
                    18482: SAIL-235: remove Permissions.hbm.xml
                    18517: SAIL-235: Permissions DAO refactor
                    18523: SAIL-234: Node.hbm.xml
                    18524: SAIL-235: Permissions DAO refactor
               18960: Merged DEV/V3.3-DAO-REFACTOR to DEV/V3.3-DAO-REFACTOR-2
                    18533: Flipped back to Windows line endings
                    18535: Formatting-only (eol)
                    18540: Formatting-only (eol)
                    18541: SAIL-235: Permissions DAO refactor
                    18543: SAIL-234: Node.hbm.xml: Start alf_store changes
                    18567: SAIL-235: Permissions DAO refactor
                    18596: SAIL-305:  Alfresco DDL - formatted/rationalized and added missing indexes & fk constraints
                    18603: SAIL-311: Minor cleanup for schema upgrade scripts (V3.3)
                    18604: SAIL-311: Remove empty dirs
                    18619: SAIL-274: Locale.hbm.xml
                    18621: Added method to create default ACL
                    18622: SAIL-234: Node.hbm.xml: Store, Transaction, Server and some node
                    18624: Formatting only (eol)
                    18631: SAIL-235: Permissions DAO refactor
                    18633: SAIL-235: Permissions DAO refactor - do not expose CRUD for AceContext (or AuthorityAlias) since currently unused
                    18639: getLocale(Locale) should return null if it doesn't exist
                    18640: SAIL-234 NodeDAO: More replacement of node queries and updates
                    18648: SAIL-310: Create SQL script for core repo tables (All DB ports)
                    18651: SAIL-234 NodeDAO: Moves across stores handle presence of target deleted nodes
               18961: Merged DEV/V3.3-DAO-REFACTOR to DEV/V3.3-DAO-REFACTOR-2
                    18658: SAIL-274 Locale DAO: Missing getValueKey() method
                    18662: SAIL-235: Permissions DAO refactor - further cleanup (of DbAccessControlList usage, including copyACLs)
                    18664: DB scripts porting for PostgreSQL finished.
                    18668: SAIL-234 Node DAO: Note in case Transaction Change ID is dropped from indexes
                    18669: SAIL-234 Node DAO: deleteNode and archive (store move) fixes
                    18672: DB scripts porting for Oracle finished. 
                    18675: SAIL-235: Permissions DAO refactor 
                    18677: DB scripts porting for DB2 finished.
               18964: Merged DEV/V3.3-DAO-REFACTOR to DEV/V3.3-DAO-REFACTOR-2
                    18687: Execute a callback with retries
                    18688: SAIL-234 Node DAO: Child association creation
                    18690: SAIL-234 Node DAO: Comment out raw creation of stores as it breaks subsequent bootstrap checks
                    18691: SAIL-234 Node DAO: More replacement of alf_child_assoc handling
                    18713: Commented about needing a more efficient removeChildAssociation method
                    18714: SAIL-234 Node DAO: Replaced queries on alf_child_assoc
                    18715: SAIL-234 Node DAO: More alf_child_assoc query replacement
                    18727: SAIL-234 Node DAO: alf_child_assoc queries complete
                    18737: SAIL-234 Node DAO: Tweaks to newNode and implemented prependPaths
                    18741: SAIL-234 and SAIL-334: Moved UsageDelta Hibernate code and queries over to UsageDeltaDAO
                    18748: SAIL-234 Node DAO: fix NPE (EditionServiceImplTest)
                    18769: SAIL-234 Node DAO: alf_node_properties ground work
                    18786: SAIL-234 Node DAO: alf_node_properties and cm:auditable properties
                    18810: Added EqualsHelper.getMapComparison
                    18813: TransactionalCache propagates cache clears and removals during rollback
                    18826: SAIL-234 Node DAO: Moved over sundry references to NodeDaoService to NodeDAO
                    18849: SAIL-237: UsageDelta.hbm.xml - eol formatting only (including removal of unwanted svn:eol-style=native property)
                    18869: SAIL-234 NodeDAO: Fixed more references to 'nodeDaoService'
                    18895: SAIL-234 NodeDAO: Queries for alf_transaction
                    18899: SAIL-234 Node DAO: Fixed bean fetching for 'nodeDAO'
                    18909: SAIL-234 NodeDAO: Fixes to getNodeRefStatus and various txn queries
                    18916: SAIL-234 NodeDAO: Fixed moveNode alf_child_assoc updates
                    18922: SAIL-235: DAO refactoring: Permission.hbm.xml
                    18930: SAIL-235: DAO refactoring: Permission.hbm.xml
                    18932: SAIL-234 NodeDAO: Fixing up gotchas, javadocs and some naming
                    18933: SAIL-234 NodeDAO: Minor neatening
                    18935: SAIL-234 Node DAO: Caches for ID to NodeRef and StoreRef
                    18936: EHCache config files line endings
                    18938: SAIL-237: Usage DAO refactor - initial checkpoint
                    18945: SAIL-235: DAO refactoring: Permission.hbm.xml. Move Node.
               18975: Fix for move-node ACL jiggery-pokery
               19067: SAIL-4: fix VersionHistoryImpl.getSuccessors (causing VersionServiceImplTest.testGetVersionHistorySameWorkspace failure)
               19068: SAIL-234: fix VersionMigratorTest.testMigrateOneVersion
               19074: SAIL-237: Usage DAO - update to common iBatis mapping pattern(s) to ease DB porting
               19076: SAIL-231: Activities DAO - update to common iBatis mapping pattern(s)
               19077: SAIL-232: AppliedPatch DAO - minor cleanup (comments & formatting only)
               19092: Merging HEAD to DEV/V3.3-DAO-REFACTOR-2
                     18973: Temporarily comment out AVMTestSuite and run AVM tests individually
                     19056: AVM unit test improvements
               19097: SAIL-235: DAO refactoring: Permission.hbm.xml: Additional index to support queries to find the id and acl id for the primary children of a node.
               19185: SAIL-238: Permissions DAO - (minor) update to common iBatis mapping pattern
               19289: SAIL-234 NodeDAO: Node cache replaces NodeRef cache
               19302: SAIL-234 Node DAO: Added cache for node properties
               19318: SAIL-4: AVM DAO - (minor) update to common iBatis mapping pattern
   20690: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-4 to BRANCHES/DEV/V3.3-DAO-REFACTOR-5:
        20063: (RECORD ONLY) DAO refactor branch V4
        20146: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-3 to BRANCHES/DEV/V3.3-DAO-REFACTOR-4:
             19401: SAIL-234 Node DAO: Fix permission service tests (setPrimaryChildrenSharedAclId needs to invalidate nodesCache)
             19428: Fixed TransactionalCache issue with null and NullValueMarker
             19429: Took empty cm:content creation out of FileFolderService#createImpl
             19430: SAIL-234 Node DAO: Tweaks around caching and cm:auditable
             19431: SAIL-4 DAO Refactor: Exception thrown when attempting writes in read-only txn have changed
             19436: SAIL-234 Node DAO: Fix NPE during cm:auditable update
             19475: Allow debugging of code without stepping into trivial stuff
             19476: Follow-up on 19429 by ensuring CIFS/FTP set a  mimetype on the ContentWriter
             19477: SAIL-234 Node DAO: Leverage DAO better for NodeService.addProperties
             19478: SAIL-234 NodeDAO: Added toString() for ParentAssocsInfo (cache value for parent assocs)
             19479: SAIL-234 Node DAO: Fixed for parent association and property caches
             19480: Made TransactionAwareSingleton bind-key a GUID
             19481: SAIL-234 Node DAO: Reinstated 100K collection property tests
             19482: SAIL-234 Node DAO: Node and property cache fixes highlighted by unit tests
             19483: SAIL-234 Node DAO: Start on NodeBulkLoader implementation
             19595: SAIL-234 Node DAO: Fix moveNode to detect cyclic relationship prior to updating ACLs for moved tree FileFolderServiceImplTest.testETHREEOH_3088_MoveIntoSelf)
        20147: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-3 to BRANCHES/DEV/V3.3-DAO-REFACTOR-4:
             19602: (RECORD ONLY) Reintegrated with HEAD up to rev 19433
             19621: (RECORD ONLY) SAIL-347
             19683: (RECORD ONLY) Reverse-merged 19621 for SAIL-347
             19722: (RECORD ONLY) Merged /alfresco/HEAD:r19434-19721
        20150: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-3 to BRANCHES/DEV/V3.3-DAO-REFACTOR-4:
             19741: Merged DEV\V3.3-DAO-REFACTOR-2 to DEV\V3.3-DAO-REFACTOR-3
                   19739: Extended "move" tests
             19743: Fix AuditableAspectTest.testAddAspect (to allow for node modified date tolerance)
             19748: Remaining part of merge from HEAD to V3.3-DAO-REFACTOR-3
                   19367: Merged BRANCHES/V3.2 to HEAD:
                       19286: Fix for ALF-626 "Using 'null' as an authority argument in clearPermissions() cause a java.lang.NullPointerException"
             19755: SAIL-234 Node DAO: Fix RepoAdminServiceImplTest.testConcurrentDynamicModelDelete (handle InvalidNodeRefException after getChildAssocs)
   20692: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-4 to BRANCHES/DEV/V3.3-DAO-REFACTOR-5:
        - Retired all 1.3 and 1.4 upgrade scripts ... R.I.P.
        - Fixed CRC patch for Authorities (only tested on MySQL)
        - Fixed SQL patch revision numbers and bumped version schema number up
        20158: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-3 to BRANCHES/DEV/V3.3-DAO-REFACTOR-4:
             19773: SQL mappings and scripts: SAIL-310, SAIL-304, SAIL-303 and SAIL-347
             19774: Futher fix for SAIL-310: Sequence patch must take into account sequences created for 3.3
             19851: SAIL-371 (SAIL-294) NodeDAO fallout: Fix QName and Namespace read/write handling and bean name in unit test
        20183: Merged DAO3 to DAO4
             19852: SAIL-370: Remove LinkValidation
             19853: SAIL-239 (SAIL-294) Attributes.hbm.xml: Added ability to attach arbitrary property to unique context
             19857: SAIL-373 Fallout from Permissions DAO refactor (SAIL-235)
             19864: SAIL-239 (SAIL-294): Removed AttributeService RMI API
             19865: More SAIL-239 (SAIL-294): Removed AttributeService RMI API
        20208: DAO-refactor implementation of ALF-2712 query improvements
        20209: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-3 to BRANCHES/DEV/V3.3-DAO-REFACTOR-4:
             20060: Removal of AttributeService for SAIL-239 (SAIL-294)
        20348: SAIL-371 (SAIL-294): Protect collection properties during map insert and retrieval
        20547: SAIL-371 (SAIL-294) Attributes.hbm.xml: implement getAttributes + fixes
        20573: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests and other fallout
        20597: SAIL-239 Attributes.hbm.xml: WCM/AVM locking test fixes (wip)
        20598: SAIL-239 Attributes.hbm.xml: WCM/AVM locking test fixes (wip) - fix AssetServiceImplTest.testSimpleLockFile NPE
        20600: Fix PropertyValueDAOTest.testPropertyValue_Enum (follow-on to r20060 for SAIL-239 - which introduces ENUM prop vals)
        20601: Fix UsageDAOTest.testCreateAndDeleteUsageDeltas NPE (would also affect ContentStoreCleanerScalabilityRunner)
        20603: Fix CMISPropertyServiceTest.* (fallout from r20146 <- r19429 <- Took empty cm:content creation out of FileFolderService#createImpl)
        20604: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests - TransferServiceImplTest.*
        20618: SAIL-371 (SAIL-294): NodeDAO: AuditableAspectTest (fix testCreateNodeWithAuditableProperties_ALF_2565 + add remove aspect test)
        20624: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests - UserUsageTest.*
        20626: Fixed random keys for RuleTrigger NodeRef tracking
        20635: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests - PersonTest.testSplitDuplicates
        20642: SAIL-371 (SAIL-294) DAO: Fixed CacheTest
        20643: Removed must of the 'distribute' target's dependencies.  Not for HEAD
        20645: Follow-on to r20643 (Removed most of the 'distribute' target's dependencies.  Not for HEAD)
        20654: SAIL-371 (SAIL-294): NodeDAO: DMDeploymentTargetTest.* (do not try to remove mandatory aspects)
        20655: SAIL-371 (SAIL-294): NodeDAO: Initial fix for TaggingServiceImplTest.testTagScopeUpdateViaNodePolicies (+ minor test cleanup)
        20657: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests - VersionMigratorTest.testMigrateOneVersion (cm:accessed not returned if null)
        20658: Merged (back merge only - no merge info) BRANCHES/V3.3 to BRANCHES/DEV/V3.3-DAO-REFACTOR-4:
             20090: Dynamic models: minor improvements to DictionaryModelType
             20554: Improvement to model delete validation (investigating intermittent failure of RepoAdminServiceImplTest.testSimpleDynamicModelViaNodeService)
        20662: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests - RecordsManagementAuditServiceImplTest.* (we now ignore attempt to update 'cm:modifier' prop so update 'cm:title' prop instead)
        20666: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests - ADMLuceneTest.*
        20668: SAIL-239 (SAIL-294) - delete WCM locks + tests (follow-on to r20060)
        20674: SAIL-371 (SAIL-294) NodeDAO fallout: Cleaner and additional checks for ContentStoreCleaner
        20675: SAIL-371 (SAIL-294) NodeDAO fallout: Fixed handling of ContentData


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@20693 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2010-06-17 19:35:49 +00:00
parent 6e928249a5
commit 4872eb9909
470 changed files with 39121 additions and 44771 deletions

View File

@@ -0,0 +1,58 @@
--
-- Title: Audit tables
-- Database: MySQL InnoDB
-- Since: V3.2 Schema 3002
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
CREATE TABLE alf_audit_model
(
id BIGINT NOT NULL AUTO_INCREMENT,
content_data_id BIGINT NOT NULL,
content_crc BIGINT NOT NULL,
UNIQUE INDEX idx_alf_aud_mod_cr (content_crc),
CONSTRAINT fk_alf_aud_mod_cd FOREIGN KEY (content_data_id) REFERENCES alf_content_data (id),
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_audit_app
(
id BIGINT NOT NULL AUTO_INCREMENT,
version SMALLINT NOT NULL,
app_name_id BIGINT NOT NULL,
audit_model_id BIGINT NOT NULL,
disabled_paths_id BIGINT NOT NULL,
CONSTRAINT fk_alf_aud_app_an FOREIGN KEY (app_name_id) REFERENCES alf_prop_value (id),
CONSTRAINT UNIQUE idx_alf_aud_app_an (app_name_id),
CONSTRAINT fk_alf_aud_app_mod FOREIGN KEY (audit_model_id) REFERENCES alf_audit_model (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_aud_app_dis FOREIGN KEY (disabled_paths_id) REFERENCES alf_prop_root (id),
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_audit_entry
(
id BIGINT NOT NULL AUTO_INCREMENT,
audit_app_id BIGINT NOT NULL,
audit_time BIGINT NOT NULL,
audit_user_id BIGINT NULL,
audit_values_id BIGINT NULL,
CONSTRAINT fk_alf_aud_ent_app FOREIGN KEY (audit_app_id) REFERENCES alf_audit_app (id) ON DELETE CASCADE,
INDEX idx_alf_aud_ent_tm (audit_time),
CONSTRAINT fk_alf_aud_ent_use FOREIGN KEY (audit_user_id) REFERENCES alf_prop_value (id),
CONSTRAINT fk_alf_aud_ent_pro FOREIGN KEY (audit_values_id) REFERENCES alf_prop_root (id),
PRIMARY KEY (id)
) ENGINE=InnoDB;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.2-AuditTables';
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-AuditTables', 'Manually executed script upgrade V3.2: Audit Tables',
0, 3001, -1, 3002, null, 'UNKOWN', 1, 1, 'Script completed'
);

View File

@@ -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'
);

View File

@@ -0,0 +1,69 @@
--
-- Title: Create Content tables
-- Database: MySQL InnoDB
-- Since: V3.2 Schema 2012
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
CREATE TABLE alf_mimetype
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
mimetype_str VARCHAR(100) NOT NULL,
PRIMARY KEY (id),
UNIQUE (mimetype_str)
) ENGINE=InnoDB;
CREATE TABLE alf_encoding
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
encoding_str VARCHAR(100) NOT NULL,
PRIMARY KEY (id),
UNIQUE (encoding_str)
) ENGINE=InnoDB;
-- This table may exist during upgrades, but must be removed.
-- The drop statement is therefore optional.
DROP TABLE alf_content_url; --(optional)
CREATE TABLE alf_content_url
(
id BIGINT NOT NULL AUTO_INCREMENT,
content_url VARCHAR(255) NOT NULL,
content_url_short VARCHAR(12) NOT NULL,
content_url_crc BIGINT NOT NULL,
content_size BIGINT NOT NULL,
orphan_time BIGINT NULL,
UNIQUE INDEX idx_alf_conturl_cr (content_url_short, content_url_crc),
INDEX idx_alf_conturl_ot (orphan_time),
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_content_data
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
content_url_id BIGINT NULL,
content_mimetype_id BIGINT NULL,
content_encoding_id BIGINT NULL,
content_locale_id BIGINT NULL,
CONSTRAINT fk_alf_cont_url FOREIGN KEY (content_url_id) REFERENCES alf_content_url (id),
CONSTRAINT fk_alf_cont_mim FOREIGN KEY (content_mimetype_id) REFERENCES alf_mimetype (id),
CONSTRAINT fk_alf_cont_enc FOREIGN KEY (content_encoding_id) REFERENCES alf_encoding (id),
CONSTRAINT fk_alf_cont_loc FOREIGN KEY (content_locale_id) REFERENCES alf_locale (id),
PRIMARY KEY (id)
) ENGINE=InnoDB;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.2-ContentTables';
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-ContentTables', 'Manually executed script upgrade V3.2: Content Tables',
0, 2011, -1, 2012, null, 'UNKOWN', 1, 1, 'Script completed'
);

View File

@@ -0,0 +1,46 @@
--
-- Title: Create lock tables
-- Database: MySQL InnoDB
-- Since: V3.2 Schema 2011
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
CREATE TABLE alf_lock_resource
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
qname_ns_id BIGINT NOT NULL,
qname_localname VARCHAR(255) NOT NULL,
CONSTRAINT fk_alf_lockr_ns FOREIGN KEY (qname_ns_id) REFERENCES alf_namespace (id),
PRIMARY KEY (id),
UNIQUE INDEX idx_alf_lockr_key (qname_ns_id, qname_localname)
) TYPE=InnoDB;
CREATE TABLE alf_lock
(
id BIGINT NOT NULL auto_increment,
version BIGINT NOT NULL,
shared_resource_id BIGINT NOT NULL,
excl_resource_id BIGINT NOT NULL,
lock_token VARCHAR(36) NOT NULL,
start_time BIGINT NOT NULL,
expiry_time BIGINT NOT NULL,
CONSTRAINT fk_alf_lock_shared FOREIGN KEY (shared_resource_id) REFERENCES alf_lock_resource (id),
CONSTRAINT fk_alf_lock_excl FOREIGN KEY fk_alf_lock_excl (excl_resource_id) REFERENCES alf_lock_resource (id),
PRIMARY KEY (id),
UNIQUE INDEX idx_alf_lock_key (shared_resource_id, excl_resource_id)
) TYPE=InnoDB;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.2-LockTables';
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-LockTables', 'Manually executed script upgrade V3.2: Lock Tables',
0, 2010, -1, 2011, null, 'UNKOWN', 1, 1, 'Script completed'
);

View File

@@ -0,0 +1,122 @@
--
-- Title: Property Value tables
-- Database: MySQL InnoDB
-- Since: V3.2 Schema 3001
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
CREATE TABLE alf_prop_class
(
id BIGINT NOT NULL AUTO_INCREMENT,
java_class_name VARCHAR(255) NOT NULL,
java_class_name_short VARCHAR(32) NOT NULL,
java_class_name_crc BIGINT NOT NULL,
UNIQUE INDEX idx_alf_propc_crc (java_class_name_crc, java_class_name_short),
INDEX idx_alf_propc_clas (java_class_name),
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_prop_date_value
(
date_value BIGINT NOT NULL,
full_year SMALLINT NOT NULL,
half_of_year TINYINT NOT NULL,
quarter_of_year TINYINT NOT NULL,
month_of_year TINYINT NOT NULL,
week_of_year TINYINT NOT NULL,
week_of_month TINYINT NOT NULL,
day_of_year SMALLINT NOT NULL,
day_of_month TINYINT NOT NULL,
day_of_week TINYINT NOT NULL,
INDEX idx_alf_propdt_dt (full_year, month_of_year, day_of_month),
PRIMARY KEY (date_value)
) ENGINE=InnoDB;
CREATE TABLE alf_prop_double_value
(
id BIGINT NOT NULL AUTO_INCREMENT,
double_value DOUBLE NOT NULL,
UNIQUE INDEX idx_alf_propd_val (double_value),
PRIMARY KEY (id)
) ENGINE=InnoDB;
-- Stores unique, case-sensitive string values --
CREATE TABLE alf_prop_string_value
(
id BIGINT NOT NULL AUTO_INCREMENT,
string_value TEXT NOT NULL,
string_end_lower VARCHAR(16) NOT NULL,
string_crc BIGINT NOT NULL,
INDEX idx_alf_props_str (string_value(32)),
UNIQUE INDEX idx_alf_props_crc (string_end_lower, string_crc),
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_prop_serializable_value
(
id BIGINT NOT NULL AUTO_INCREMENT,
serializable_value BLOB NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_prop_value
(
id BIGINT NOT NULL AUTO_INCREMENT,
actual_type_id BIGINT NOT NULL,
persisted_type TINYINT NOT NULL,
long_value BIGINT NOT NULL,
INDEX idx_alf_propv_per (persisted_type, long_value),
UNIQUE INDEX idx_alf_propv_act (actual_type_id, long_value),
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_prop_root
(
id BIGINT NOT NULL AUTO_INCREMENT,
version SMALLINT NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_prop_link
(
root_prop_id BIGINT NOT NULL,
prop_index BIGINT NOT NULL,
contained_in BIGINT NOT NULL,
key_prop_id BIGINT NOT NULL,
value_prop_id BIGINT NOT NULL,
CONSTRAINT fk_alf_propln_root FOREIGN KEY (root_prop_id) REFERENCES alf_prop_root (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_propln_key FOREIGN KEY (key_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_propln_val FOREIGN KEY (value_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
INDEX idx_alf_propln_for (root_prop_id, key_prop_id, value_prop_id),
PRIMARY KEY (root_prop_id, contained_in, prop_index)
) ENGINE=InnoDB;
CREATE TABLE alf_prop_unique_ctx
(
id BIGINT NOT NULL AUTO_INCREMENT,
version SMALLINT NOT NULL,
value1_prop_id BIGINT NOT NULL,
value2_prop_id BIGINT NOT NULL,
value3_prop_id BIGINT NOT NULL,
prop1_id BIGINT NULL,
UNIQUE INDEX idx_alf_propuctx (value1_prop_id, value2_prop_id, value3_prop_id),
CONSTRAINT fk_alf_propuctx_v1 FOREIGN KEY (value1_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_propuctx_v2 FOREIGN KEY (value2_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_propuctx_v3 FOREIGN KEY (value3_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_propuctx_p1 FOREIGN KEY (prop1_id) REFERENCES alf_prop_root (id),
PRIMARY KEY (id)
) ENGINE=InnoDB;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.2-PropertyValueTables';
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-PropertyValueTables', 'Manually executed script upgrade V3.2: PropertyValue Tables',
0, 3000, -1, 3001, null, 'UNKOWN', 1, 1, 'Script completed'
);

View File

@@ -0,0 +1,503 @@
--
-- Title: Core Repository Tables
-- Database: MySQL InnoDB
-- Since: V3.3 Schema 4000
-- Author: Derek Hulley, janv
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
CREATE TABLE alf_applied_patch
(
id VARCHAR(64) NOT NULL,
description TEXT,
fixes_from_schema INTEGER,
fixes_to_schema INTEGER,
applied_to_schema INTEGER,
target_schema INTEGER,
applied_on_date DATETIME,
applied_to_server VARCHAR(64),
was_executed BIT,
succeeded BIT,
report TEXT,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_namespace
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
uri VARCHAR(100) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY uri (uri)
) ENGINE=InnoDB;
CREATE TABLE alf_qname
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
ns_id BIGINT NOT NULL,
local_name VARCHAR(200) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY ns_id (ns_id, local_name),
KEY fk_alf_qname_ns (ns_id),
CONSTRAINT fk_alf_qname_ns FOREIGN KEY (ns_id) REFERENCES alf_namespace (id)
) ENGINE=InnoDB;
CREATE TABLE alf_permission
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
type_qname_id BIGINT NOT NULL,
name VARCHAR(100) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY type_qname_id (type_qname_id, name),
KEY fk_alf_perm_tqn (type_qname_id),
CONSTRAINT fk_alf_perm_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id)
) ENGINE=InnoDB;
CREATE TABLE alf_ace_context
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
class_context TEXT,
property_context TEXT,
kvp_context TEXT,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_authority
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
authority VARCHAR(100),
crc BIGINT,
PRIMARY KEY (id),
UNIQUE KEY authority (authority, crc),
KEY idx_alf_auth_aut (authority)
) ENGINE=InnoDB;
CREATE TABLE alf_access_control_entry
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
permission_id BIGINT NOT NULL,
authority_id BIGINT NOT NULL,
allowed BIT NOT NULL,
applies INTEGER NOT NULL,
context_id BIGINT,
PRIMARY KEY (id),
UNIQUE KEY permission_id (permission_id, authority_id, allowed, applies, context_id),
KEY fk_alf_ace_ctx (context_id),
KEY fk_alf_ace_perm (permission_id),
KEY fk_alf_ace_auth (authority_id),
CONSTRAINT fk_alf_ace_auth FOREIGN KEY (authority_id) REFERENCES alf_authority (id),
CONSTRAINT fk_alf_ace_ctx FOREIGN KEY (context_id) REFERENCES alf_ace_context (id),
CONSTRAINT fk_alf_ace_perm FOREIGN KEY (permission_id) REFERENCES alf_permission (id)
) ENGINE=InnoDB;
CREATE TABLE alf_acl_change_set
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_access_control_list
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
acl_id VARCHAR(36) NOT NULL,
latest BIT NOT NULL,
acl_version BIGINT NOT NULL,
inherits BIT NOT NULL,
inherits_from BIGINT,
type INTEGER NOT NULL,
inherited_acl BIGINT,
is_versioned BIT NOT NULL,
requires_version BIT NOT NULL,
acl_change_set BIGINT,
PRIMARY KEY (id),
UNIQUE KEY acl_id (acl_id, latest, acl_version),
KEY idx_alf_acl_inh (inherits, inherits_from),
KEY fk_alf_acl_acs (acl_change_set),
CONSTRAINT fk_alf_acl_acs FOREIGN KEY (acl_change_set) REFERENCES alf_acl_change_set (id)
) ENGINE=InnoDB;
CREATE TABLE alf_acl_member
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
acl_id BIGINT NOT NULL,
ace_id BIGINT NOT NULL,
pos INTEGER NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY aclm_acl_id (acl_id, ace_id, pos),
KEY fk_alf_aclm_acl (acl_id),
KEY fk_alf_aclm_ace (ace_id),
CONSTRAINT fk_alf_aclm_ace FOREIGN KEY (ace_id) REFERENCES alf_access_control_entry (id),
CONSTRAINT fk_alf_aclm_acl FOREIGN KEY (acl_id) REFERENCES alf_access_control_list (id)
) ENGINE=InnoDB;
CREATE TABLE alf_authority_alias
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
auth_id BIGINT NOT NULL,
alias_id BIGINT NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY auth_id (auth_id, alias_id),
KEY fk_alf_autha_ali (alias_id),
KEY fk_alf_autha_aut (auth_id),
CONSTRAINT fk_alf_autha_aut FOREIGN KEY (auth_id) REFERENCES alf_authority (id),
CONSTRAINT fk_alf_autha_ali FOREIGN KEY (alias_id) REFERENCES alf_authority (id)
) ENGINE=InnoDB;
CREATE TABLE alf_activity_feed
(
id BIGINT NOT NULL AUTO_INCREMENT,
post_id BIGINT,
post_date DATETIME NOT NULL,
activity_summary TEXT,
feed_user_id VARCHAR(255),
activity_type VARCHAR(255) NOT NULL,
activity_format VARCHAR(10),
site_network VARCHAR(255),
app_tool VARCHAR(36),
post_user_id VARCHAR(255) NOT NULL,
feed_date DATETIME NOT NULL,
PRIMARY KEY (id),
KEY feed_postdate_idx (post_date),
KEY feed_postuserid_idx (post_user_id),
KEY feed_feeduserid_idx (feed_user_id),
KEY feed_sitenetwork_idx (site_network),
KEY feed_activityformat_idx (activity_format)
) ENGINE=InnoDB;
CREATE TABLE alf_activity_feed_control
(
id BIGINT NOT NULL AUTO_INCREMENT,
feed_user_id VARCHAR(255) NOT NULL,
site_network VARCHAR(255),
app_tool VARCHAR(36),
last_modified DATETIME NOT NULL,
PRIMARY KEY (id),
KEY feedctrl_feeduserid_idx (feed_user_id)
) ENGINE=InnoDB;
CREATE TABLE alf_activity_post
(
sequence_id BIGINT NOT NULL AUTO_INCREMENT,
post_date DATETIME NOT NULL,
status VARCHAR(10) NOT NULL,
activity_data TEXT NOT NULL,
post_user_id VARCHAR(255) NOT NULL,
job_task_node INTEGER NOT NULL,
site_network VARCHAR(255),
app_tool VARCHAR(36),
activity_type VARCHAR(255) NOT NULL,
last_modified DATETIME NOT NULL,
PRIMARY KEY (sequence_id),
KEY post_jobtasknode_idx (job_task_node),
KEY post_status_idx (status)
) ENGINE=InnoDB;
CREATE TABLE alf_audit_config
(
id BIGINT NOT NULL AUTO_INCREMENT,
config_url TEXT NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_audit_date
(
id BIGINT NOT NULL AUTO_INCREMENT,
date_only date NOT NULL,
day_of_year INTEGER NOT NULL,
day_of_month INTEGER NOT NULL,
day_of_week INTEGER NOT NULL,
week_of_year INTEGER NOT NULL,
week_of_month INTEGER NOT NULL,
month INTEGER NOT NULL,
quarter INTEGER NOT NULL,
half_year INTEGER NOT NULL,
full_year INTEGER NOT NULL,
PRIMARY KEY (id),
KEY idx_alf_adtd_woy (week_of_year),
KEY idx_alf_adtd_fy (full_year),
KEY idx_alf_adtd_q (quarter),
KEY idx_alf_adtd_wom (week_of_month),
KEY idx_alf_adtd_dom (day_of_month),
KEY idx_alf_adtd_doy (day_of_year),
KEY idx_alf_adtd_dow (day_of_week),
KEY idx_alf_adtd_m (month),
KEY idx_alf_adtd_hy (half_year),
KEY idx_alf_adtd_dat (date_only)
) ENGINE=InnoDB;
CREATE TABLE alf_audit_source
(
id BIGINT NOT NULL AUTO_INCREMENT,
application VARCHAR(255) NOT NULL,
service VARCHAR(255),
method VARCHAR(255),
PRIMARY KEY (id),
KEY idx_alf_adts_met (method),
KEY idx_alf_adts_ser (service),
KEY idx_alf_adts_app (application)
) ENGINE=InnoDB;
CREATE TABLE alf_audit_fact
(
id BIGINT NOT NULL AUTO_INCREMENT,
user_id VARCHAR(255) NOT NULL,
timestamp DATETIME NOT NULL,
transaction_id VARCHAR(56) NOT NULL,
session_id VARCHAR(56),
store_protocol VARCHAR(50),
store_id VARCHAR(100),
node_uuid VARCHAR(36),
path TEXT,
filtered BIT NOT NULL,
return_val TEXT,
arg_1 TEXT,
arg_2 TEXT,
arg_3 TEXT,
arg_4 TEXT,
arg_5 TEXT,
fail BIT NOT NULL,
serialized_url TEXT,
exception_message TEXT,
host_address TEXT,
client_address TEXT,
message_text TEXT,
audit_date_id BIGINT NOT NULL,
audit_conf_id BIGINT NOT NULL,
audit_source_id BIGINT NOT NULL,
PRIMARY KEY (id),
KEY idx_alf_adtf_ref (store_protocol, store_id, node_uuid),
KEY idx_alf_adtf_usr (user_id),
KEY fk_alf_adtf_src (audit_source_id),
KEY fk_alf_adtf_date (audit_date_id),
KEY fk_alf_adtf_conf (audit_conf_id),
KEY idx_alf_adtf_pth (path(128)),
CONSTRAINT fk_alf_adtf_conf FOREIGN KEY (audit_conf_id) REFERENCES alf_audit_config (id),
CONSTRAINT fk_alf_adtf_date FOREIGN KEY (audit_date_id) REFERENCES alf_audit_date (id),
CONSTRAINT fk_alf_adtf_src FOREIGN KEY (audit_source_id) REFERENCES alf_audit_source (id)
) ENGINE=InnoDB;
CREATE TABLE alf_server
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
ip_address VARCHAR(39) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY ip_address (ip_address)
) ENGINE=InnoDB;
CREATE TABLE alf_transaction
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
server_id BIGINT,
change_txn_id VARCHAR(56) NOT NULL,
commit_time_ms BIGINT,
PRIMARY KEY (id),
KEY idx_alf_txn_ctms (commit_time_ms),
KEY fk_alf_txn_svr (server_id),
CONSTRAINT fk_alf_txn_svr FOREIGN KEY (server_id) REFERENCES alf_server (id)
) ENGINE=InnoDB;
CREATE TABLE alf_store
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
protocol VARCHAR(50) NOT NULL,
identifier VARCHAR(100) NOT NULL,
root_node_id BIGINT,
PRIMARY KEY (id),
UNIQUE KEY protocol (protocol, identifier)
) ENGINE=InnoDB;
CREATE TABLE alf_node
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
store_id BIGINT NOT NULL,
uuid VARCHAR(36) NOT NULL,
transaction_id BIGINT NOT NULL,
node_deleted bit NOT NULL,
type_qname_id BIGINT NOT NULL,
acl_id BIGINT,
audit_creator VARCHAR(255),
audit_created VARCHAR(30),
audit_modifier VARCHAR(255),
audit_modified VARCHAR(30),
audit_accessed VARCHAR(30),
PRIMARY KEY (id),
UNIQUE KEY store_id (store_id, uuid),
KEY idx_alf_node_del (node_deleted),
KEY fk_alf_node_acl (acl_id),
KEY fk_alf_node_txn (transaction_id),
KEY fk_alf_node_store (store_id),
KEY fk_alf_node_tqn (type_qname_id),
CONSTRAINT fk_alf_node_acl FOREIGN KEY (acl_id) REFERENCES alf_access_control_list (id),
CONSTRAINT fk_alf_node_store FOREIGN KEY (store_id) REFERENCES alf_store (id),
CONSTRAINT fk_alf_node_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id),
CONSTRAINT fk_alf_node_txn FOREIGN KEY (transaction_id) REFERENCES alf_transaction (id)
) ENGINE=InnoDB;
ALTER TABLE alf_store ADD INDEX fk_alf_store_root (root_node_id), ADD CONSTRAINT fk_alf_store_root FOREIGN KEY (root_node_id) REFERENCES alf_node (id);
CREATE TABLE alf_child_assoc
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
parent_node_id BIGINT NOT NULL,
type_qname_id BIGINT NOT NULL,
child_node_name_crc BIGINT NOT NULL,
child_node_name VARCHAR(50) NOT NULL,
child_node_id BIGINT NOT NULL,
qname_ns_id BIGINT NOT NULL,
qname_localname VARCHAR(255) NOT NULL,
qname_crc BIGINT NOT NULL,
is_primary bit,
assoc_index INTEGER,
PRIMARY KEY (id),
UNIQUE KEY parent_node_id (parent_node_id, type_qname_id, child_node_name_crc, child_node_name),
KEY fk_alf_cass_pnode (parent_node_id),
KEY fk_alf_cass_cnode (child_node_id),
KEY fk_alf_cass_tqn (type_qname_id),
KEY fk_alf_cass_qnns (qname_ns_id),
KEY idx_alf_cass_qncrc (qname_crc, type_qname_id, parent_node_id),
KEY idx_alf_cass_pri (parent_node_id, is_primary, child_node_id),
CONSTRAINT fk_alf_cass_cnode FOREIGN KEY (child_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_cass_pnode FOREIGN KEY (parent_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_cass_qnns FOREIGN KEY (qname_ns_id) REFERENCES alf_namespace (id),
CONSTRAINT fk_alf_cass_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id)
) ENGINE=InnoDB;
CREATE TABLE alf_locale
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
locale_str VARCHAR(20) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY locale_str (locale_str)
) ENGINE=InnoDB;
CREATE TABLE alf_attributes
(
id BIGINT NOT NULL AUTO_INCREMENT,
type VARCHAR(1) NOT NULL,
version BIGINT NOT NULL,
acl_id BIGINT,
bool_value BIT,
byte_value TINYINT,
short_value SMALLINT,
int_value INTEGER,
long_value BIGINT,
float_value FLOAT,
double_value DOUBLE PRECISION,
string_value TEXT,
serializable_value BLOB,
PRIMARY KEY (id),
KEY fk_alf_attr_acl (acl_id),
CONSTRAINT fk_alf_attr_acl FOREIGN KEY (acl_id) REFERENCES alf_access_control_list (id)
) ENGINE=InnoDB;
CREATE TABLE alf_global_attributes
(
name VARCHAR(160) NOT NULL,
attribute BIGINT,
PRIMARY KEY (name),
UNIQUE KEY attribute (attribute),
KEY fk_alf_gatt_att (attribute),
CONSTRAINT fk_alf_gatt_att FOREIGN KEY (attribute) REFERENCES alf_attributes (id)
) ENGINE=InnoDB;
CREATE TABLE alf_list_attribute_entries
(
list_id BIGINT NOT NULL,
mindex INTEGER NOT NULL,
attribute_id BIGINT,
PRIMARY KEY (list_id, mindex),
KEY fk_alf_lent_att (attribute_id),
KEY fk_alf_lent_latt (list_id),
CONSTRAINT fk_alf_lent_att FOREIGN KEY (attribute_id) REFERENCES alf_attributes (id),
CONSTRAINT fk_alf_lent_latt FOREIGN KEY (list_id) REFERENCES alf_attributes (id)
) ENGINE=InnoDB;
CREATE TABLE alf_map_attribute_entries
(
map_id BIGINT NOT NULL,
mkey VARCHAR(160) NOT NULL,
attribute_id BIGINT,
PRIMARY KEY (map_id, mkey),
KEY fk_alf_matt_matt (map_id),
KEY fk_alf_matt_att (attribute_id),
CONSTRAINT fk_alf_matt_att FOREIGN KEY (attribute_id) REFERENCES alf_attributes (id),
CONSTRAINT fk_alf_matt_matt FOREIGN KEY (map_id) REFERENCES alf_attributes (id)
) ENGINE=InnoDB;
CREATE TABLE alf_node_aspects
(
node_id BIGINT NOT NULL,
qname_id BIGINT NOT NULL,
PRIMARY KEY (node_id, qname_id),
KEY fk_alf_nasp_n (node_id),
KEY fk_alf_nasp_qn (qname_id),
CONSTRAINT fk_alf_nasp_n FOREIGN KEY (node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nasp_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id)
) ENGINE=InnoDB;
CREATE TABLE alf_node_assoc
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
source_node_id BIGINT NOT NULL,
target_node_id BIGINT NOT NULL,
type_qname_id BIGINT NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY source_node_id (source_node_id, target_node_id, type_qname_id),
KEY k_alf_nass_snode (source_node_id),
KEY fk_alf_nass_tnode (target_node_id),
KEY fk_alf_nass_tqn (type_qname_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)
) ENGINE=InnoDB;
CREATE TABLE alf_node_properties
(
node_id BIGINT NOT NULL,
actual_type_n INTEGER NOT NULL,
persisted_type_n INTEGER 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,
list_index INTEGER NOT NULL,
locale_id BIGINT NOT NULL,
PRIMARY KEY (node_id, qname_id, list_index, locale_id),
KEY fk_alf_nprop_n (node_id),
KEY fk_alf_nprop_qn (qname_id),
KEY fk_alf_nprop_loc (locale_id),
CONSTRAINT fk_alf_nprop_loc FOREIGN KEY (locale_id) REFERENCES alf_locale (id),
CONSTRAINT fk_alf_nprop_n FOREIGN KEY (node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nprop_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id)
) ENGINE=InnoDB;
CREATE TABLE alf_usage_delta
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
node_id BIGINT NOT NULL,
delta_size BIGINT NOT NULL,
PRIMARY KEY (id),
KEY fk_alf_usaged_n (node_id),
CONSTRAINT fk_alf_usaged_n FOREIGN KEY (node_id) REFERENCES alf_node (id)
) ENGINE=InnoDB;