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)
Tree Management
Perfherder
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)
Reporter | ||
Comment 1•8 years ago
|
||
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)
Reporter | ||
Updated•8 years ago
|
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.
Description
•