Title: [opsview] [9992] Implement new schema version numbering for runtime db
Revision
9992
Author
tvoon
Date
2012-09-06 23:19:22 +0100 (Thu, 06 Sep 2012)

Log Message

Implement new schema version numbering for runtime db

Modified Paths


Modified: trunk/opsview-core/bin/db_runtime
===================================================================
--- trunk/opsview-core/bin/db_runtime	2012-09-06 22:15:05 UTC (rev 9991)
+++ trunk/opsview-core/bin/db_runtime	2012-09-06 22:19:22 UTC (rev 9992)
@@ -294,7 +294,14 @@
 	INSERT opsview_database_version VALUES ('2.8.6');
 
   -- Opsview portion of runtime database
-	CREATE TABLE schema_version (major_release varchar(16), version varchar(16)) ENGINE=InnoDB;
+	CREATE TABLE schema_version (
+        major_release varchar(16), 
+        version varchar(16),
+        reason varchar(255),
+        created_at DATETIME,
+        duration INT,
+        PRIMARY KEY (major_release)
+    ) ENGINE=InnoDB;
 	INSERT INTO schema_version (major_release, version) VALUES ('2.10', '2');
 	INSERT INTO schema_version (major_release, version) VALUES ('2.11', '2');
 	INSERT INTO schema_version (major_release, version) VALUES ('2.12', '2');
@@ -306,7 +313,7 @@
 	INSERT INTO schema_version (major_release, version) VALUES ('3.7', '3');
 	INSERT INTO schema_version (major_release, version) VALUES ('3.9', '1');
 	INSERT INTO schema_version (major_release, version) VALUES ('3.11', '6');
-	INSERT INTO schema_version (major_release, version) VALUES ('3.13', '9');
+	INSERT INTO schema_version (major_release, version) VALUES ('3.13', '11');
 	INSERT INTO schema_version (major_release, version) VALUES ('3.15', '9');
 
   -- Nagios portion of runtime database

Modified: trunk/opsview-core/installer/upgradedb_runtime.pl
===================================================================
--- trunk/opsview-core/installer/upgradedb_runtime.pl	2012-09-06 22:15:05 UTC (rev 9991)
+++ trunk/opsview-core/installer/upgradedb_runtime.pl	2012-09-06 22:19:22 UTC (rev 9992)
@@ -1137,6 +1137,25 @@
     $db->updated;
 }
 
+# NOTE: This is a no-op. It looks like some changes in 3.13.10 in commit 8271
+# did not get merged in correctly, so some systems have 3.13.10 marked, while others
+# haven't. We make this a no-op, so that 3.13.10 is marked correctly and continue
+if ( $db->is_lower("3.13.10") ) {
+    $db->print( "No-op" );
+    $db->updated;
+}
+
+if ( $db->is_lower("3.13.11") ) {
+    $db->print( "Amending schema_version to handle new style schema changes" );
+    $dbh->do( "
+        ALTER TABLE schema_version ADD COLUMN reason VARCHAR(255), 
+            ADD COLUMN created_at DATETIME, 
+            ADD COLUMN duration INT, 
+            ADD PRIMARY KEY (major_release)
+    " );
+    $db->updated;
+}
+
 if ( $db->is_lower("3.15.1") ) {
     $db->print(
         "Re-synchronising new and upgraded schemas for missing and redundant indexes"

Modified: trunk/opsview-core/t/var/runtime.test.db
===================================================================
--- trunk/opsview-core/t/var/runtime.test.db	2012-09-06 22:15:05 UTC (rev 9991)
+++ trunk/opsview-core/t/var/runtime.test.db	2012-09-06 22:19:22 UTC (rev 9992)
@@ -13587,26 +13587,30 @@
 
 DROP TABLE IF EXISTS `schema_version`;
 CREATE TABLE `schema_version` (
-  `major_release` varchar(16) DEFAULT NULL,
-  `version` varchar(16) DEFAULT NULL
+  `major_release` varchar(16) NOT NULL DEFAULT '',
+  `version` varchar(16) DEFAULT NULL,
+  `reason` varchar(255) DEFAULT NULL,
+  `created_at` datetime DEFAULT NULL,
+  `duration` int(11) DEFAULT NULL,
+  PRIMARY KEY (`major_release`)
 ) ENGINE=InnoDB;
 
 
 LOCK TABLES `schema_version` WRITE;
 /*!40000 ALTER TABLE `schema_version` DISABLE KEYS */;
-INSERT INTO `schema_version` VALUES ('2.10','1');
-INSERT INTO `schema_version` VALUES ('2.11','2');
-INSERT INTO `schema_version` VALUES ('2.12','2');
-INSERT INTO `schema_version` VALUES ('2.14','3');
-INSERT INTO `schema_version` VALUES ('3.0','1');
-INSERT INTO `schema_version` VALUES ('3.3','4');
-INSERT INTO `schema_version` VALUES ('3.5','6');
-INSERT INTO `schema_version` VALUES ('3.6','1');
-INSERT INTO `schema_version` VALUES ('3.7','3');
-INSERT INTO `schema_version` VALUES ('3.9','1');
-INSERT INTO `schema_version` VALUES ('3.11','6');
-INSERT INTO `schema_version` VALUES ('3.13','10');
-INSERT INTO `schema_version` VALUES ('3.15','9');
+INSERT INTO `schema_version` VALUES ('2.10','1',NULL,NULL,NULL);
+INSERT INTO `schema_version` VALUES ('2.11','2',NULL,NULL,NULL);
+INSERT INTO `schema_version` VALUES ('2.12','2',NULL,NULL,NULL);
+INSERT INTO `schema_version` VALUES ('2.14','3',NULL,NULL,NULL);
+INSERT INTO `schema_version` VALUES ('3.0','1',NULL,NULL,NULL);
+INSERT INTO `schema_version` VALUES ('3.11','6',NULL,NULL,NULL);
+INSERT INTO `schema_version` VALUES ('3.13','11',NULL,NULL,NULL);
+INSERT INTO `schema_version` VALUES ('3.15','9',NULL,NULL,NULL);
+INSERT INTO `schema_version` VALUES ('3.3','4',NULL,NULL,NULL);
+INSERT INTO `schema_version` VALUES ('3.5','6',NULL,NULL,NULL);
+INSERT INTO `schema_version` VALUES ('3.6','1',NULL,NULL,NULL);
+INSERT INTO `schema_version` VALUES ('3.7','3',NULL,NULL,NULL);
+INSERT INTO `schema_version` VALUES ('3.9','1',NULL,NULL,NULL);
 /*!40000 ALTER TABLE `schema_version` ENABLE KEYS */;
 UNLOCK TABLES;
 

_______________________________________________
Opsview-checkins mailing list
[email protected]
http://lists.opsview.org/lists/listinfo/opsview-checkins

Reply via email to