r3690 add FK relation between RackObjectHistory and RackObject
authorDenis Ovsienko <infrastation@yandex.ru>
Sun, 30 May 2010 13:56:20 +0000 (13:56 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Sun, 30 May 2010 13:56:20 +0000 (13:56 +0000)
inc/database.php
install/init-structure.sql
upgrade.php

index 8b55632..0bf5f9a 100644 (file)
@@ -659,7 +659,6 @@ function commitDeleteObject ($object_id = 0)
        $dbxlink->query("DELETE FROM Atom WHERE molecule_id IN (SELECT new_molecule_id FROM MountOperation WHERE object_id = ${object_id})");
        $dbxlink->query("DELETE FROM Molecule WHERE id IN (SELECT new_molecule_id FROM MountOperation WHERE object_id = ${object_id})");
        $dbxlink->query("DELETE FROM MountOperation WHERE object_id = ${object_id}");
-       $dbxlink->query("DELETE FROM RackObjectHistory WHERE id = ${object_id}");
        $dbxlink->query("DELETE FROM RackObject WHERE id = ${object_id}");
 
        return '';
index 047cfb4..18e0fdb 100644 (file)
@@ -350,7 +350,9 @@ CREATE TABLE `RackObjectHistory` (
   `has_problems` enum('yes','no') NOT NULL default 'no',
   `comment` text,
   `ctime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
-  `user_name` char(64) default NULL
+  `user_name` char(64) default NULL,
+  KEY `id` (`id`),
+  CONSTRAINT `RackObjectHistory-FK-object_id` FOREIGN KEY (`id`) REFERENCES `RackObject` (`id`) ON DELETE CASCADE
 ) ENGINE=InnoDB;
 
 CREATE TABLE `RackRow` (
index c01265a..bac73bf 100644 (file)
@@ -663,6 +663,8 @@ CREATE TABLE `VLANValidID` (
                        $query[] = "ALTER TABLE Script ENGINE=InnoDB";
                        $query[] = "ALTER TABLE AttributeValue DROP FOREIGN KEY `AttributeValue-FK-object_id`";
                        $query[] = "ALTER TABLE AttributeValue ADD CONSTRAINT `AttributeValue-FK-object_id` FOREIGN KEY (`object_id`) REFERENCES `RackObject` (`id`) ON DELETE CASCADE";
+                       $query[] = "ALTER TABLE RackObjectHistory ADD KEY (id)";
+                       $query[] = "ALTER TABLE RackObjectHistory ADD CONSTRAINT `RackObjectHistory-FK-object_id` FOREIGN KEY (id) REFERENCES `RackObject` (`id`) ON DELETE CASCADE";
                        $query[] = "UPDATE Config SET varvalue = '0.18.1' WHERE varname = 'DB_VERSION'";
                        break;
                default: