Please provide your mapping information. Possibly in a Gist at GitHub.

This part of your description seem awkward to me:

*"In each of B and C, a_id has: unique=true as it is primary key but I
have:*

*$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_NONE);instead
of
GENERATOR_TYPE_IDENTITY to tell the entity that this primary key is not
auto-incrementing as it is FK too."*

Why would you have other Entities (B and C) define metadata about Entity A?

I would say you try to define stuff too strict, let Doctrine do that hard
work for you. Maybe in the last DBAL version a conflict that existed in
your mapping for a while, is now generating an error because of new checks.
I would assume Doctrine DBAL is correct in that ;)

Cheers

On 27 June 2015 at 21:22, Nima Sadjadi <[email protected]> wrote:

>
> Also I created a blank db, and tried to create tables with
> orm:schema-tool:create --dump-sql
> I am still getting the same error, and in two previous emails, I described
> how to replicate the error.
> Doesn't it look like a bug in dbal 2.5.1? 2.5.0 works fine.
> Please advice.
>
>
> On Sat, Jun 27, 2015 at 10:22 PM, Nima Sadjadi <[email protected]> wrote:
>
>>
>> Hi,
>>
>> In previous email I described why and how that error occurs, I also
>> discovered that if I keep orm version 2.5.0 but with dbal 2.5.0 instead of
>> dbal 2.5.1, the problem solved! so the issue is changes in dbal 2.5.1 vs
>> dbal 2.5.0. nothing to do with orm at all.
>> What are major changes in dbal 2.5.1 that causes this problem?
>>
>>
>>
>> On Sat, Jun 27, 2015 at 8:19 PM, Nima Sadjadi <[email protected]> wrote:
>>
>>>
>>> Hello,
>>>
>>> Thanks for trying to help, After lots of testing, I discovered the
>>> problem:
>>> I have A table oneToOne to two tables, B and C via the same id and FK in
>>> both. I mean:
>>>
>>> A OneToOne with B: name: id, referenceColoumn: a_id
>>> A OneToOne with C: name: id, referenceColoumn: a_id
>>>
>>> in tables B and C, the coloumn a_id is Primary key of B and C. because
>>> the only mappings in each of B and C, is OneToOne mapping to A, so a_id is
>>> both FK and primary key,
>>>
>>> In each of B and C, a_id has: unique=true as it is primary key but I
>>> have:
>>> $metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_NONE);
>>> instead of GENERATOR_TYPE_IDENTITY to tell the entity that this primary
>>> key is not auto-incrementing as it is FK too.
>>>
>>> The older doctrine version had no problem with this all, but in the
>>> latest version, it gives that error, if an entity has OneToOne mapping with
>>> two other entities via the same primary key, is it a bug in latest version?
>>> If I remove one of these mappings from A, then it is solved, but I need
>>> mappings to both B and C in A. How can I solve this? please advice as I am
>>> stuck.
>>>
>>> Many thanks in advance.
>>>
>>>
>>>
>>>
>>>
>>> On Wed, Jun 24, 2015 at 8:25 AM, Barrie Treloar <[email protected]>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Tuesday, June 23, 2015 at 8:34:17 AM UTC+9:30, Parsifal wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> since I updated orm to 2.5.0 and dbal to 2.5.1 when I want to run
>>>>> validate-schema command on console I get the error:
>>>>>
>>>>>  [Doctrine\DBAL\Schema\SchemaException]
>>>>>   An index with name 'uniq_71260315bf396750' was already defined on
>>>>> table 'items'.
>>>>>
>>>>> Actually I did not define any index with that name in that table, I
>>>>> have just one primary key. Older doctrine version had no such problem. I
>>>>> did search the group and saw some discussions, but I did not understand
>>>>> this is a confirmed bug or how can I solve this issue? please advice.
>>>>>
>>>>>
>>>> If your table can be shared, can you provide your Doctrine table
>>>> yaml/annotations?
>>>>
>>>> The uniq_<hash> tells me it is an auto-generated index.
>>>>
>>>> You can use
>>>>     php app/console doctrine:schema:create --dump-sql
>>>> to show you the commands that would be used to create your schema, you
>>>> can then see which ones cause duplicates.
>>>>
>>>> I suspect that you have are using a combination of annotations that is
>>>> causing the trouble.
>>>>
>>>> http://doctrine-orm.readthedocs.org/en/latest/reference/annotations-reference.html#annref-index
>>>>
>>>> e.g. I use
>>>> @ORM\Index to rename all my primary key indexes.
>>>> @ORM\UniqueConstraint for non-key indxes
>>>>
>>>> But I am not using
>>>> @ORM\Column{unique=true}
>>>>
>>>> I think this also causes the index to be created but you can't control
>>>> the name at this point, and so when I had both I had your problem.
>>>> However, this was a while ago, and I've forgotten the exact cause/
>>>>
>>>> Also, this is the first time I'm using Doctrine, so I really dont know
>>>> what I am talking about. I've just bumbled along well enough so far.
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "doctrine-user" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at http://groups.google.com/group/doctrine-user.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "doctrine-user" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/doctrine-user.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/doctrine-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to