Revert "Revert "[autotest] Add shard tables and models to Autotest""
This reverts commit c1a9d91f65d8fa5225ab673266d165e759c645ab.
Change-Id: Ic6e01cbf06279e19b87926a076548731677024fa
Reviewed-on: https://chromium-review.googlesource.com/214027
Reviewed-by: Alex Miller <milleral@chromium.org>
Tested-by: Jakob Jülich <jakobjuelich@chromium.org>
Commit-Queue: Jakob Jülich <jakobjuelich@chromium.org>
diff --git a/frontend/migrations/094_add_shards.py b/frontend/migrations/094_add_shards.py
new file mode 100644
index 0000000..fbf4c8a
--- /dev/null
+++ b/frontend/migrations/094_add_shards.py
@@ -0,0 +1,31 @@
+UP_SQL = """
+CREATE TABLE afe_shards (
+ id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
+) ENGINE=innodb;
+
+ALTER TABLE afe_jobs ADD COLUMN shard_id INT NULL;
+ALTER TABLE afe_jobs ADD CONSTRAINT jobs_to_shard_ibfk
+ FOREIGN KEY (shard_id) REFERENCES afe_shards(id);
+
+CREATE TABLE afe_shards_labels (
+ id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ shard_id INT NOT NULL,
+ label_id INT NOT NULL
+) ENGINE=InnoDB;
+
+ALTER TABLE `afe_shards_labels` ADD CONSTRAINT shard_shard_id_fk
+ FOREIGN KEY (`shard_id`) REFERENCES `afe_shards` (`id`);
+ALTER TABLE `afe_shards_labels` ADD CONSTRAINT shard_label_id_fk
+ FOREIGN KEY (`label_id`) REFERENCES `afe_labels` (`id`);
+"""
+
+DOWN_SQL = """
+ALTER TABLE afe_jobs DROP FOREIGN KEY jobs_to_shard_ibfk;
+ALTER TABLE afe_jobs DROP COLUMN shard_id;
+
+ALTER TABLE afe_shards_labels DROP FOREIGN KEY shard_label_id_fk;
+ALTER TABLE afe_shards_labels DROP FOREIGN KEY shard_shard_id_fk;
+DROP TABLE afe_shards_labels;
+
+DROP TABLE afe_shards;
+"""