0 votes

I accidentally used the mapped superclass inheritance type on an abstract entity with a recursive relation (one-to-many with itself) when I should have used the class table inheritance type. After 'Export to ORM' Doctrine wouldn't create the database. After some searching, I fount the following in the Doctrine documentation:

A mapped superclass cannot be an entity, it is not query-able and persistent relationships defined by a mapped superclass must be unidirectional (with an owning side only). This means that One-To-Many associations are not possible on a mapped superclass at all. Furthermore Many-To-Many associations are only possible if the mapped superclass is only used in exactly one entity at the moment. For further support of inheritance, the single or joined table inheritance features have to be used.

So Skipper allowed me to create that relation when doctrine doesn't permit this.

asked in Solved by (820 points)
edited by

2 Answers

0 votes

You're right. Skipper currently doesn't test such specific use-cases and allows to create anything what user want.

It's because it is nearly impossible to exactly define all allowed and denied states

And also there are a lot of users who hacked/modified/extend existing ORM frameworks and need to use features/definitions which aren't available to another users.

answered by Skipper developer (131k points)

Ok, thanks.
I was just wondering if this was intended behavior or a bug.

+1 vote

This feature is now implemented in latest beta.

Feel free to check it here: https://support.skipper18.com/402/downloads-skipper-beta

answered by Skipper developer (131k points)