DoctrineBundle: Error in XML mapping (gedmo) afer upgrade to 2.9

BC Break Report

Q A
BC Break yes
Version 2.9

Summary

i get error after upgrade this version.

libxml error: Element '{http://gediminasm.org/schemas/orm/doctrine-extensions-mapping}timestampable': No matching global element declaration available, but demanded by the strict wildcard.
in src/Resources/config/doctrine/UserGroupRelation.orm.xml at line 21

Problem in PR: https://github.com/doctrine/orm/pull/10579

see comments in issue: https://github.com/doctrine/orm/issues/10552

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 20 (16 by maintainers)

Most upvoted comments

I propose to revert it with a patch release first: https://github.com/doctrine/DoctrineBundle/pull/1644

Then we can think about how to tackle it properly

I’ll reiterate what I think is the best course of action:

  1. release a patch disabling validation;
  2. release a minor allowing to enable it, and deprecating not doing so;
  3. make the knob a no-op in next major;
  4. remove the knob in next next major.

Having many unused nodes is a big deal because we don’t do major releases often. That’s what should IMO change.

@eisberg that’s not a solution, given that the goal of ORM maintainers is to stop allowing to add external nodes in XML mapping files (otherwise, they would not have removed support for using external nodes in the ORM XSD.

What we need here is a proper deprecation path, not a new feature that does the opposite of that deprecation.

@jakubtobiasz noted, but please, let’s not pile up +1s here, and focus on getting to a solution instead. If you want to +1, you have reactions.

A way forward could be to disable XSD validation in a patch release of the doctrine bundle, then expose a configuration node in the next minor release, and deprecate not setting it to true.

Transferring to the correct repository.

Also, not sure if this is going to fix your issue @alexander-schranz but I’d recommend you use vendor/doctrine/orm/doctrine-mapping.xsd instead of http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd. That way you are validating your mapping against the right version of the schema.

That’s right, in DoctrineBundle v2.8.3 everything is ok