From c02f70c8808589435d4e917cd52fc2794e5be125 Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Sat, 28 Oct 2023 21:00:37 +0900 Subject: [PATCH] fix unique index --- .../20231027175439_add_unique_index_to_libraries_on_name.rb | 1 + ...31027175624_add_unique_index_to_items_on_item_identifier.rb | 2 +- db/schema.rb | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/db/migrate/20231027175439_add_unique_index_to_libraries_on_name.rb b/db/migrate/20231027175439_add_unique_index_to_libraries_on_name.rb index 72a380e711..709a3874c1 100644 --- a/db/migrate/20231027175439_add_unique_index_to_libraries_on_name.rb +++ b/db/migrate/20231027175439_add_unique_index_to_libraries_on_name.rb @@ -1,5 +1,6 @@ class AddUniqueIndexToLibrariesOnName < ActiveRecord::Migration[6.1] def change add_index :libraries, :name, unique: true + add_index :libraries, :isil, unique: true, where: "isil != '' AND isil IS NOT NULL" end end diff --git a/db/migrate/20231027175624_add_unique_index_to_items_on_item_identifier.rb b/db/migrate/20231027175624_add_unique_index_to_items_on_item_identifier.rb index d0afc40324..11863c9ae2 100644 --- a/db/migrate/20231027175624_add_unique_index_to_items_on_item_identifier.rb +++ b/db/migrate/20231027175624_add_unique_index_to_items_on_item_identifier.rb @@ -1,6 +1,6 @@ class AddUniqueIndexToItemsOnItemIdentifier < ActiveRecord::Migration[6.1] def change remove_index :items, :item_identifier - add_index :items, :item_identifier, unique: true + add_index :items, :item_identifier, unique: true, where: "item_identifier != '' AND item_identifier IS NOT NULL" end end diff --git a/db/schema.rb b/db/schema.rb index 88f98e4043..fc1f411ef7 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -770,7 +770,7 @@ t.index ["bookstore_id"], name: "index_items_on_bookstore_id" t.index ["checkout_type_id"], name: "index_items_on_checkout_type_id" t.index ["circulation_status_id"], name: "index_items_on_circulation_status_id" - t.index ["item_identifier"], name: "index_items_on_item_identifier", unique: true + t.index ["item_identifier"], name: "index_items_on_item_identifier", unique: true, where: "(((item_identifier)::text <> ''::text) AND (item_identifier IS NOT NULL))" t.index ["manifestation_id"], name: "index_items_on_manifestation_id" t.index ["required_role_id"], name: "index_items_on_required_role_id" t.index ["shelf_id"], name: "index_items_on_shelf_id" @@ -834,6 +834,7 @@ t.float "latitude" t.float "longitude" t.index "lower((name)::text)", name: "index_libraries_on_lower_name", unique: true + t.index ["isil"], name: "index_libraries_on_isil", unique: true, where: "(((isil)::text <> ''::text) AND (isil IS NOT NULL))" t.index ["library_group_id"], name: "index_libraries_on_library_group_id" t.index ["name"], name: "index_libraries_on_name", unique: true end