Skip to content

Commit

Permalink
[api] fix unique index of product_media and update pool repos
Browse files Browse the repository at this point in the history
allow multiple definitions using arch filter of same repo

Conflicts:
	src/api/db/structure.sql
  • Loading branch information
adrianschroeter committed Nov 10, 2014
1 parent 1e2f4e0 commit aed588f
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 2 deletions.
17 changes: 17 additions & 0 deletions src/api/db/migrate/20141110105426_fix_product_media_uniq_index.rb
@@ -0,0 +1,17 @@
class FixProductMediaUniqIndex < ActiveRecord::Migration
def self.up
remove_index :product_media, unique: true, :name => "index_unique"
remove_index :product_update_repositories, unique: true, :name => "index_unique"

add_index :product_media, [:product_id, :repository_id, :name, :arch_filter_id], unique: true, :name => "index_unique"
add_index :product_update_repositories, [:product_id, :repository_id, :arch_filter_id], unique: true, :name => "index_unique"
end

def self.down
remove_index :product_media, unique: true, :name => "index_unique"
remove_index :product_update_repositories, unique: true, :name => "index_unique"

add_index :product_media, [:product_id, :repository_id, :name], unique: true, :name => "index_unique"
add_index :product_update_repositories, [:product_id, :repository_id], unique: true, :name => "index_unique"
end
end
6 changes: 4 additions & 2 deletions src/api/db/structure.sql
Expand Up @@ -741,7 +741,7 @@ CREATE TABLE `product_media` (
`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`arch_filter_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `index_unique` (`product_id`,`repository_id`,`name`),
UNIQUE KEY `index_unique` (`product_id`,`repository_id`,`name`,`arch_filter_id`),
KEY `product_id` (`product_id`),
KEY `repository_id` (`repository_id`),
KEY `index_product_media_on_name` (`name`),
Expand All @@ -757,7 +757,7 @@ CREATE TABLE `product_update_repositories` (
`repository_id` int(11) DEFAULT NULL,
`arch_filter_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `index_unique` (`product_id`,`repository_id`),
UNIQUE KEY `index_unique` (`product_id`,`repository_id`,`arch_filter_id`),
KEY `product_id` (`product_id`),
KEY `repository_id` (`repository_id`),
KEY `index_product_update_repositories_on_arch_filter_id` (`arch_filter_id`),
Expand Down Expand Up @@ -1609,6 +1609,8 @@ INSERT INTO schema_migrations (version) VALUES ('20141022105426');

INSERT INTO schema_migrations (version) VALUES ('20141022205426');

INSERT INTO schema_migrations (version) VALUES ('20141110105426');

INSERT INTO schema_migrations (version) VALUES ('21');

INSERT INTO schema_migrations (version) VALUES ('22');
Expand Down

0 comments on commit aed588f

Please sign in to comment.