FIX: destroy CategoryGroup when Category or Group is destroyed

This commit is contained in:
Kamil Bielawski 2014-08-31 22:10:38 +02:00
parent 5c244c6f8f
commit bf679f1626
3 changed files with 15 additions and 2 deletions

View File

@ -19,7 +19,7 @@ class Category < ActiveRecord::Base
has_many :category_featured_users
has_many :featured_users, through: :category_featured_users, source: :user
has_many :category_groups
has_many :category_groups, dependent: :destroy
has_many :groups, through: :category_groups
validates :user_id, presence: true

View File

@ -1,7 +1,7 @@
class Group < ActiveRecord::Base
include HasCustomFields
has_many :category_groups
has_many :category_groups, dependent: :destroy
has_many :group_users, dependent: :destroy
has_many :categories, through: :category_groups

View File

@ -0,0 +1,13 @@
class RemoveCategoryGroupsOrphanedByRemovingCategoryOrGroup < ActiveRecord::Migration
def up
execute "DELETE FROM category_groups
WHERE group_id NOT IN (
SELECT groups.id FROM groups)
OR category_id NOT IN (
SELECT categories.id FROM categories)"
end
def down
raise ActiveRecord::IrreversibleMigration
end
end