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.
