DoctrineExtensions icon indicating copy to clipboard operation
DoctrineExtensions copied to clipboard

ORM MaterializedPath must not call internal scheduleForDelete and call EM::remove

Open oleg-andreyev opened this issue 2 years ago • 2 comments

Environment

gedmo/doctrine-extensions 3.6.0

Package

show

❯  composer show --latest gedmo/doctrine-extensions
Info from https://repo.packagist.org: #StandWithUkraine
name     : gedmo/doctrine-extensions
descrip. : Doctrine2 behavioral extensions
keywords : Blameable, behaviors, doctrine2, extensions, gedmo, loggable, nestedset, sluggable, sortable, timestampable, translatable, tree, uploadable
versions : * v3.6.0
latest   : v3.11.1
type     : library
license  : MIT License (MIT) (OSI approved) https://spdx.org/licenses/MIT.html#licenseText
homepage : http://gediminasm.org/
source   : [git] https://github.com/doctrine-extensions/DoctrineExtensions.git 20e682c5c376faa4c88421453707741e1dd1f131
dist     : [zip] https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/20e682c5c376faa4c88421453707741e1dd1f131 20e682c5c376faa4c88421453707741e1dd1f131
path     : /home/oleg/Development/pim/vendor/gedmo/doctrine-extensions
names    : gedmo/doctrine-extensions

support
email : [email protected]
issues : https://github.com/doctrine-extensions/DoctrineExtensions/issues
source : https://github.com/doctrine-extensions/DoctrineExtensions/tree/v3.6.0
wiki : https://github.com/Atlantic18/DoctrineExtensions/tree/main/doc

autoload
psr-4
Gedmo\ => src/

requires
behat/transliterator ~1.2
doctrine/annotations ^1.13
doctrine/cache ^1.11 || ^2.0
doctrine/collections ^1.0
doctrine/common ^2.13 || ^3.0
doctrine/event-manager ^1.0
doctrine/persistence ^2.2
php ^7.2 || ^8.0
psr/cache ^1 || ^2 || ^3
symfony/cache ^4.4 || ^5.3 || ^6.0

requires (dev)
doctrine/dbal ^2.13.1 || ^3.2
doctrine/deprecations ^0.5.3
doctrine/doctrine-bundle ^2.3
doctrine/mongodb-odm ^2.2
doctrine/orm ^2.10.2
friendsofphp/php-cs-fixer ~3.4.0
nesbot/carbon ^2.55
phpstan/phpstan ^1.1
phpstan/phpstan-doctrine ^1.0
phpstan/phpstan-phpunit ^1.0
phpunit/phpunit ^8.5 || ^9.5
symfony/console ^4.4 || ^5.3 || ^6.0
symfony/phpunit-bridge ^6.0
symfony/yaml ^4.4 || ^5.3 || ^6.0

suggests
doctrine/mongodb-odm to use the extensions with the MongoDB ODM
doctrine/orm to use the extensions with the ORM
symfony/cache to cache parsed annotations

conflicts
doctrine/cache <1.11
doctrine/dbal <2.13.1 || ^3.0 <3.2
doctrine/mongodb-odm <2.2
doctrine/orm <2.10.2
sebastian/comparator <2.0

Doctrine packages

show

❯ composer show --latest 'doctrine/*'
Color legend:
- patch or minor release available - update recommended
- major release available - update possible
- up to date version

Direct dependencies required in composer.json:
doctrine/annotations                1.13.2 2.0.1  Docblock Annotations Parser
doctrine/doctrine-bundle            2.5.7  2.9.1  Symfony DoctrineBundle
doctrine/doctrine-fixtures-bundle   3.4.1  3.4.4  Symfony DoctrineFixturesBundle
doctrine/doctrine-migrations-bundle 3.2.2  3.2.2  Symfony DoctrineMigrationsBundle
doctrine/orm                        2.12.2 2.14.3 Object-Relational-Mapper for PHP

Transitive dependencies not required in composer.json:
doctrine/cache                      2.1.1  2.2.0  PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.
doctrine/collections                1.7.2  2.1.2  PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.
doctrine/common                     3.3.0  3.4.3  PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection support, proxies and much more.
doctrine/data-fixtures              1.5.1  1.6.6  Data Fixtures for all Doctrine Object Managers
doctrine/dbal                       3.3.6  3.6.2  Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.
doctrine/deprecations               v0.5.3 v1.0.0 A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.
doctrine/event-manager              1.1.1  2.0.0  The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.
doctrine/inflector                  2.0.5  2.0.6  PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.
doctrine/instantiator               1.4.1  2.0.0  A small, lightweight utility to instantiate objects in PHP without invoking their constructors
doctrine/lexer                      1.2.3  3.0.0  PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.
doctrine/migrations                 3.5.0  3.6.0  PHP Doctrine Migrations project offer additional functionality on top of the database abstraction layer (DBAL) for versioning your database schema and easily deploying changes to it. It is a very easy to use and a powerful tool.
doctrine/persistence                2.5.2  3.1.4  The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.
doctrine/sql-formatter              1.1.2  1.1.3  a PHP SQL highlighting library

PHP version

PHP 8.1.18 (cli) (built: Apr 14 2023 04:39:44) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.18, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.18, Copyright (c), by Zend Technologies
    with Xdebug v3.2.0, Copyright (c) 2002-2022, by Derick Rethans

Subject

\Gedmo\Tree\Strategy\ORM\MaterializedPath must not call scheduleForDelete because:

  • it's marked an internal
  • it's does not invoke cascade remove.

Expected results

  • Any entity remove by MaterializedPath must be called with cascade

Actual results

  • Any entity remove by MaterializedPath is just marked as deleted without cascade thus leaving orphan entities.

oleg-andreyev avatar May 03 '23 15:05 oleg-andreyev

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Dec 16 '23 16:12 github-actions[bot]

@phansys ping

oleg-andreyev avatar Dec 21 '23 13:12 oleg-andreyev