DDC-2059: Property perceived as dumplicate in composite foreign key #2739

Closed
doctrinebot opened this Issue Oct 4, 2012 · 2 comments

2 participants

@doctrinebot

Jira issue originally created by user dimboz:

I have the following schema:

CREATE TABLE `user` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
);

CREATE TABLE `project` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(10) unsigned NOT NULL,
  PRIMARY KEY (`id`),
);

CREATE TABLE `project_conversation` (
  `project_id` int(10) unsigned NOT NULL,
  `user_id` int(10) unsigned NOT NULL,
  PRIMARY KEY (`project*id`,`user*id`)
)

I have ommitted the foreign key definitions for better readability. When I execute doctrine:mapping:convert (in Symfony2, but it seems it's a Doctrine2 issue), I get the following error:

[Doctrine\ORM\Mapping\MappingException]                                               
Property "user" in "Project" was already declared, but it must be declared only once

I have tracked down the issue to be caused by the existence of user*id in the project table. So basically, because project_conversation references project which in turn references user, project*conversation reference to user is perceived as duplicate.

I don't think that this should be the expected behavior though. userid in project references the creator of the project while user_id in `projectconversation` references the creator of the conversation and thus I think the schema is valid.

@doctrinebot

Comment created by @beberlei:

Will be fixed in 2.2.4 and 2.3.1

@doctrinebot

Issue was closed with resolution "Fixed"

@beberlei beberlei was assigned by doctrinebot Dec 6, 2015
@doctrinebot doctrinebot added this to the 2.3.1 milestone Dec 6, 2015
@doctrinebot doctrinebot closed this Dec 6, 2015
@doctrinebot doctrinebot added the Bug label Dec 7, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment