Closed Bug 1304327 Opened 8 years ago Closed 8 years ago

Differences in the performance_alert table schema between environments

Categories

(Tree Management :: Perfherder, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1304335

People

(Reporter: emorley, Unassigned)

Details

Differenace: * The `performance_alert` table field `related_summary_id` has a default of NULL on Heroku stage, but no default on all other environments. * Charset/collation varies (bug 1303767) # SCL3 prod / SCL3 stage: CREATE TABLE `performance_signature` ( `id` int(11) NOT NULL AUTO_INCREMENT, `signature_hash` varchar(40) COLLATE utf8_bin NOT NULL, `suite` varchar(80) COLLATE utf8_bin NOT NULL, `test` varchar(80) COLLATE utf8_bin NOT NULL, `extra_properties` longtext COLLATE utf8_bin NOT NULL, `framework_id` int(11) NOT NULL, `option_collection_id` int(11) NOT NULL, `platform_id` int(11) NOT NULL, `last_updated` datetime(6) NOT NULL, `repository_id` int(11) NOT NULL, `lower_is_better` tinyint(1) NOT NULL, `parent_signature_id` int(11), `has_subtests` tinyint(1) NOT NULL, `alert_threshold` double, `fore_window` int(11), `max_back_window` int(11), `min_back_window` int(11), `should_alert` tinyint(1), PRIMARY KEY (`id`), UNIQUE KEY `<REMOVED>` (`repository_id`,`framework_id`,`signature_hash`), KEY `<REMOVED>` (`framework_id`), KEY `<REMOVED>` (`option_collection_id`), KEY `<REMOVED>` (`platform_id`), KEY `<REMOVED>` (`last_updated`), KEY `<REMOVED>` (`repository_id`), KEY `<REMOVED>` (`parent_signature_id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`parent_signature_id`) REFERENCES `performance_signature` (`id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`option_collection_id`) REFERENCES `option_collection` (`id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`framework_id`) REFERENCES `performance_framework` (`id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`platform_id`) REFERENCES `machine_platform` (`id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`repository_id`) REFERENCES `repository` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; # Vagrant / Heroku prototype: CREATE TABLE `performance_signature` ( `id` int(11) NOT NULL AUTO_INCREMENT, `signature_hash` varchar(40) NOT NULL, `suite` varchar(80) NOT NULL, `test` varchar(80) NOT NULL, `extra_properties` longtext NOT NULL, `framework_id` int(11) NOT NULL, `option_collection_id` int(11) NOT NULL, `platform_id` int(11) NOT NULL, `last_updated` datetime(6) NOT NULL, `repository_id` int(11) NOT NULL, `lower_is_better` tinyint(1) NOT NULL, `parent_signature_id` int(11), `has_subtests` tinyint(1) NOT NULL, `alert_threshold` double, `fore_window` int(11), `max_back_window` int(11), `min_back_window` int(11), `should_alert` tinyint(1), PRIMARY KEY (`id`), UNIQUE KEY `<REMOVED>` (`repository_id`,`framework_id`,`signature_hash`), KEY `<REMOVED>` (`framework_id`), KEY `<REMOVED>` (`option_collection_id`), KEY `<REMOVED>` (`platform_id`), KEY `<REMOVED>` (`last_updated`), KEY `<REMOVED>` (`repository_id`), KEY `<REMOVED>` (`parent_signature_id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`parent_signature_id`) REFERENCES `performance_signature` (`id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`option_collection_id`) REFERENCES `option_collection` (`id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`framework_id`) REFERENCES `performance_framework` (`id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`platform_id`) REFERENCES `machine_platform` (`id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`repository_id`) REFERENCES `repository` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; # Heroku stage: CREATE TABLE `performance_signature` ( `id` int(11) NOT NULL AUTO_INCREMENT, `signature_hash` varchar(40) COLLATE utf8_bin NOT NULL, `suite` varchar(80) COLLATE utf8_bin NOT NULL, `test` varchar(80) COLLATE utf8_bin NOT NULL, `extra_properties` longtext COLLATE utf8_bin NOT NULL, `framework_id` int(11) NOT NULL, `option_collection_id` int(11) NOT NULL, `platform_id` int(11) NOT NULL, `last_updated` datetime(6) NOT NULL, `repository_id` int(11) NOT NULL, `lower_is_better` tinyint(1) NOT NULL, `parent_signature_id` int(11) DEFAULT NULL, `has_subtests` tinyint(1) NOT NULL, `alert_threshold` double, `fore_window` int(11), `max_back_window` int(11), `min_back_window` int(11), `should_alert` tinyint(1), PRIMARY KEY (`id`), UNIQUE KEY `<REMOVED>` (`repository_id`,`framework_id`,`signature_hash`), KEY `<REMOVED>` (`framework_id`), KEY `<REMOVED>` (`option_collection_id`), KEY `<REMOVED>` (`platform_id`), KEY `<REMOVED>` (`last_updated`), KEY `<REMOVED>` (`repository_id`), KEY `<REMOVED>` (`parent_signature_id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`parent_signature_id`) REFERENCES `performance_signature` (`id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`option_collection_id`) REFERENCES `option_collection` (`id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`framework_id`) REFERENCES `performance_framework` (`id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`platform_id`) REFERENCES `machine_platform` (`id`), CONSTRAINT `<REMOVED>` FOREIGN KEY (`repository_id`) REFERENCES `repository` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; Looks like the field was added in: https://github.com/mozilla/treeherder/commit/b6908b2140dac534de45da47cb3e5d9db7c87e17 Perhaps the initial version that landed on master didn't have the `null=True`? Or else where manual changes made?
Flags: needinfo?(wlachance)
Eugh I messed up comment 0 and copied and pasted the wrong parts. I'll refile for clarity.
No longer blocks: 1303763
Flags: needinfo?(wlachance)
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.