mirror of
https://github.com/discourse/discourse.git
synced 2025-02-06 03:18:23 +00:00
FIX: The constraint on parent categories wasn't working properly.
This commit is contained in:
parent
ff55a30dd7
commit
1527aeeef6
11
db/migrate/20140623195618_fix_categories_constraint.rb
Normal file
11
db/migrate/20140623195618_fix_categories_constraint.rb
Normal file
@ -0,0 +1,11 @@
|
||||
class FixCategoriesConstraint < ActiveRecord::Migration
|
||||
def change
|
||||
remove_index :categories, name: 'index_categories_on_parent_category_id_and_name'
|
||||
|
||||
# Remove any previous duplicates
|
||||
execute "DELETE FROM categories WHERE id IN (SELECT id FROM (SELECT id, row_number() over (partition BY parent_category_id, name ORDER BY id) AS rnum FROM categories) t WHERE t.rnum > 1)"
|
||||
|
||||
# Create a proper index for two categories not to have the same parent
|
||||
execute "CREATE UNIQUE INDEX unique_index_categories_on_name ON categories (COALESCE(parent_category_id, -1), name)"
|
||||
end
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user