mirror of
https://github.com/discourse/discourse.git
synced 2025-01-30 05:05:15 +08:00
FIX: Check if bookmarkable column exists before adding (#16497)
Because in 8040b95e8c
we removed
a previous post migrate file, some people may not have had those
original polymorphic bookmark columns removed, and the migration
from this PR running will cause duplicate column errors.
cf. https://meta.discourse.org/t/duplicatecolumn-and-multisite-migrate-failed/224480
This commit is contained in:
parent
c6c633e041
commit
c841e34b62
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user