diff --git a/db/migrate/20220322024216_add_bookmark_polymorphic_columns.rb b/db/migrate/20220322024216_add_bookmark_polymorphic_columns.rb index ebf87f84d83..922d611d5f3 100644 --- a/db/migrate/20220322024216_add_bookmark_polymorphic_columns.rb +++ b/db/migrate/20220322024216_add_bookmark_polymorphic_columns.rb @@ -2,9 +2,16 @@ class AddBookmarkPolymorphicColumns < ActiveRecord::Migration[6.1] def change - add_column :bookmarks, :bookmarkable_id, :integer - add_column :bookmarks, :bookmarkable_type, :string + if !column_exists?(:bookmarks, :bookmarkable_id) + add_column :bookmarks, :bookmarkable_id, :integer + end - add_index :bookmarks, [:user_id, :bookmarkable_type, :bookmarkable_id], name: "idx_bookmarks_user_polymorphic_unique", unique: true + if !column_exists?(:bookmarks, :bookmarkable_type) + add_column :bookmarks, :bookmarkable_type, :string + end + + if !index_exists?(:bookmarks, [:user_id, :bookmarkable_type, :bookmarkable_id]) + add_index :bookmarks, [:user_id, :bookmarkable_type, :bookmarkable_id], name: "idx_bookmarks_user_polymorphic_unique", unique: true + end end end