diff --git a/patches/patch20200426-3.0.0/versioning.sql b/patches/patch20200426-3.0.0/versioning.sql index 3bfcc13fb4504a681ae90a9f18270e9897ace09d..a5bb0343a6a953b13f3c2a062d88c0b2024cade2 100644 --- a/patches/patch20200426-3.0.0/versioning.sql +++ b/patches/patch20200426-3.0.0/versioning.sql @@ -41,10 +41,9 @@ CREATE TABLE entity_version ( ) ENGINE=InnoDB; ALTER TABLE reference_data - ADD COLUMN `value_iversion` INT UNSIGNED DEFAULT NULL; --- TODO --- ADD FOREIGN KEY (`value`, `value_iversion) REFERENCES --- entity_version (`entity_id`, `_iversion`); + ADD COLUMN `value_iversion` INT UNSIGNED DEFAULT NULL, + ADD FOREIGN KEY (`value`, `value_iversion`) REFERENCES + entity_version (`entity_id`, `_iversion`); CREATE TABLE archive_isa ( diff --git a/tests/test_autotap.sql b/tests/test_autotap.sql index 0c9a263546aa23ce5c012d8a35a5b6fbf2b38300..e23ef3bfd40f8f27b0f8ed920e7d7c0da5a1ac52 100644 --- a/tests/test_autotap.sql +++ b/tests/test_autotap.sql @@ -1647,7 +1647,7 @@ SELECT tap.col_charset_is('_caosdb_schema_unit_tests','reference_data','value_iv SELECT tap.col_collation_is('_caosdb_schema_unit_tests','reference_data','value_iversion',NULL,''); -- INDEXES -SELECT tap.indexes_are('_caosdb_schema_unit_tests','reference_data','`entity_id`',''); +SELECT tap.indexes_are('_caosdb_schema_unit_tests','reference_data','`entity_id`,`value`',''); -- INDEX reference_data.entity_id @@ -1655,8 +1655,14 @@ SELECT tap.has_index('_caosdb_schema_unit_tests','reference_data','entity_id','' SELECT tap.index_is_type('_caosdb_schema_unit_tests','reference_data','entity_id','BTREE',''); SELECT tap.is_indexed('_caosdb_schema_unit_tests','reference_data','`entity_id`,`property_id`',''); +-- INDEX reference_data.value + +SELECT tap.has_index('_caosdb_schema_unit_tests','reference_data','value',''); +SELECT tap.index_is_type('_caosdb_schema_unit_tests','reference_data','value','BTREE',''); +SELECT tap.is_indexed('_caosdb_schema_unit_tests','reference_data','`value`,`value_iversion`',''); + -- CONSTRAINTS -SELECT tap.constraints_are('_caosdb_schema_unit_tests','reference_data','`ref_domain_id_entity`,`ref_entity_id_entity`,`ref_property_id_entity`,`ref_value_entity`',''); +SELECT tap.constraints_are('_caosdb_schema_unit_tests','reference_data','`ref_domain_id_entity`,`ref_entity_id_entity`,`ref_property_id_entity`,`ref_value_entity`,`reference_data_ibfk_1`',''); -- CONSTRAINT reference_data.ref_domain_id_entity @@ -1686,6 +1692,13 @@ SELECT tap.constraint_type_is('_caosdb_schema_unit_tests','reference_data','ref_ SELECT tap.fk_on_delete('_caosdb_schema_unit_tests','reference_data','ref_value_entity','RESTRICT',''); SELECT tap.fk_on_update('_caosdb_schema_unit_tests','reference_data','ref_value_entity','RESTRICT',''); +-- CONSTRAINT reference_data_ibfk_1 +SELECT tap.has_constraint('_caosdb_schema_unit_tests','reference_data','reference_data_ibfk_1',''); +SELECT tap.constraint_type_is('_caosdb_schema_unit_tests','reference_data','reference_data_ibfk_1','FOREIGN KEY',''); +SELECT tap.fk_on_delete('_caosdb_schema_unit_tests','reference_data','reference_data_ibfk_1','RESTRICT',''); +SELECT tap.fk_on_update('_caosdb_schema_unit_tests','reference_data','reference_data_ibfk_1','RESTRICT',''); + + -- *************************************************************** -- TABLE _caosdb_schema_unit_tests.roles -- ***************************************************************