After a lengthy discussion and agreement, I've added the same "extinguished properties" feature to the Vancouver db as exists in the Maple Ridge db. SQL:
DROP TABLE IF EXISTS `titles_to_ext_properties`; CREATE TABLE IF NOT EXISTS `titles_to_ext_properties` ( `tte_tte_id` int(11) NOT NULL auto_increment, `tte_prop_id_fk` int(11) NOT NULL, `tte_title_id_fk` int(11) NOT NULL, PRIMARY KEY (`tte_tte_id`), KEY `tte_prop_id_fk` (`tte_prop_id_fk`,`tte_title_id_fk`), KEY `tte_title_id_fk` (`tte_title_id_fk`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; ALTER TABLE `titles_to_ext_properties` ADD CONSTRAINT `titles_to_ext_properties_ibfk_1` FOREIGN KEY (`tte_prop_id_fk`) REFERENCES `props` (`prp_property_id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `titles_to_ext_properties_ibfk_2` FOREIGN KEY (`tte_title_id_fk`) REFERENCES `titles` (`ttl_title_id`) ON DELETE CASCADE ON UPDATE CASCADE;
Additions to local_classes.php:
//In title class, before preceding titles field:
$this->addField(new MdhOneToManyField('ttl_ext_properties', 'Extinguished properties',
'ttl_title_id',
'props',
'prp_property_id',
'prp_desc',
'titles_to_ext_properties',
'tte_tte_id',
'tte_title_id_fk',
'tte_prop_id_fk',
true, 'prp_desc', true));
//In properties class, before related properties field:
$this->addField(new MdhOneToManyField('own_extinguishing_titles', 'Extinguished by titles',
'prp_property_id',
'titles',
'ttl_title_id',
'ttl_desc',
'titles_to_ext_properties',
'tte_tte_id',
'tte_prop_id_fk',
'tte_title_id_fk',
true, 'ttl_desc', true));
Tested in dev, rolled out to live, awaiting any anomaly reports from the RAs in the field.