Sitelet https://github.com/ClosureTree/closure_tree/issues/206
Skip to content

Can't destroy object for version 6.0.0 #206

Description

@xiaohui-zhangxh

Please see below output, am I missing something to configure model?

module Catalog
  class Menu < ActiveRecord::Base
    acts_as_tree dependent: :destroy
  end
end

2.2.1 :002 > Catalog::Menu.find(4).destroy
  Catalog::Menu Load (0.4ms)  SELECT  `catalog_menus`.* FROM `catalog_menus` WHERE `catalog_menus`.`id` = 4 LIMIT 1
   (0.2ms)  BEGIN
   (0.3ms)  SELECT GET_LOCK('ClosureTree::Catalog::Menu', 0) AS t457e5acb1b089fcf2c797b4a5f36d844
   (12.3ms)  DELETE FROM `catalog_menu_hierarchies`
WHERE descendant_id IN (
  SELECT DISTINCT descendant_id
  FROM (SELECT descendant_id
    FROM `catalog_menu_hierarchies`
    WHERE ancestor_id = 4
       OR descendant_id = 4
  ) AS x )

   (0.3ms)  SELECT RELEASE_LOCK('ClosureTree::Catalog::Menu') AS t5d47f4adccd01cbd21808d1b3cb19864
   (5.3ms)  ROLLBACK
ActiveRecord::StatementInvalid: Mysql2::Error: You can't specify target table 'catalog_menu_hierarchies' for update in FROM clause: DELETE FROM `catalog_menu_hierarchies`
WHERE descendant_id IN (
  SELECT DISTINCT descendant_id
  FROM (SELECT descendant_id
    FROM `catalog_menu_hierarchies`
    WHERE ancestor_id = 4
       OR descendant_id = 4
  ) AS x )

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions