r3779 schema: add UNIQUE to RackRow
authorDenis Ovsienko <infrastation@yandex.ru>
Wed, 9 Jun 2010 15:22:42 +0000 (15:22 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Wed, 9 Jun 2010 15:22:42 +0000 (15:22 +0000)
ChangeLog
install/init-structure.sql
upgrade.php

index a3ebe29b10d1e293837e1b688a9f9c5b1a92a99d..0c9672b562be5f60bd12bbc8a84a42f5bdd0223a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 0.18.2
        bugfix: don't restore last opened tab, which won't be permitted anyway
        update: completely switch to PDO prepared queries (#120)
+       update: don't allow duplicate rack row names (#344)
        new feature: Live LLDP
 0.18.1 2010-06-03
        update: initial SNMP support of Summit switches
index 11dda2ca3f01d088201e9067370a09b0e2ea05c8..6509ad780488774288eac283d243a16283e3e05e 100644 (file)
@@ -360,7 +360,8 @@ CREATE TABLE `RackObjectHistory` (
 CREATE TABLE `RackRow` (
   `id` int(10) unsigned NOT NULL auto_increment,
   `name` char(255) NOT NULL,
-  PRIMARY KEY  (`id`)
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
 ) ENGINE=InnoDB;
 
 CREATE TABLE `RackSpace` (
index fb4ef3c0a8f75f4c5d5b5690d85de4484fac3bec..e14fa259b4a775272582b507e58eefa300325048 100644 (file)
@@ -706,6 +706,7 @@ CREATE TABLE `VLANValidID` (
                case '0.18.2':
                        $query = array_merge ($query, reloadDictionary ($batchid));
                        $query[] = "ALTER TABLE Rack ADD CONSTRAINT `Rack-FK-row_id` FOREIGN KEY (row_id) REFERENCES RackRow (id)";
+                       $query[] = "ALTER TABLE RackRow ADD UNIQUE KEY `name` (name)";
                        $query[] = "INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, is_userdefined, description) VALUES ('CDP_RUNNERS_LISTSRC', '', 'string', 'yes', 'no', 'no', 'List of devices running CDP')";
                        $query[] = "INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, is_userdefined, description) VALUES ('LLDP_RUNNERS_LISTSRC', '', 'string', 'yes', 'no', 'no', 'List of devices running LLDP')";
                        $query[] = "UPDATE Config SET varvalue = '0.18.2' WHERE varname = 'DB_VERSION'";