[DDC-852] An easy way of generally setting the default id name/foreign key name suffix doctrine uses Created: 31/Oct/10  Updated: 23/Oct/13  Resolved: 24/Dec/11

Status: Resolved
Project: Doctrine 2 - ORM
Component/s: Mapping Drivers
Affects Version/s: 2.0-BETA4
Fix Version/s: 2.3
Security Level: All

Type: New Feature Priority: Minor
Reporter: Daniel Alvarez Arribas Assignee: Fabio B. Silva
Resolution: Fixed Votes: 0
Labels: None


 Description   

Doctrine 2 is currently using "id" as the default name for identifier columns, and "_id" as suffix for corresponding foreign key columns. I think this is quite reasonable in most cases.

Now, assuming that for any reason I wanted to change this to something else for all relationships, currently there does not seem to be any easy way to do it.
You will have to give a complete JoinColumn definition on every single relationship declaration, like (assuming that I want the new ID name to be "dbID"):

/**

  • @ManyToOne(targetEntity="persistentData\model\import\Whatever", inversedBy="someReferenceThatPointsHere")
  • @JoinColumn(name="whatever_dbid", referencedColumnName="dbId")
    */

The reason why I am doing this is that I am doing a 1:1 data import based on a data model that is already defined, and it just happens to contain properties named "id",
which unfortunately even have a problem-domain meaning. So instead of mapping those problem-domain properties to something else (breaking my 1:1 convention), or
using something that does have a problem-domain-meaning as a primary key (which I consider bad practice), I thought I might just use purely technical ids and instruct
doctrine to choose a different name for those. This is, fortunately, possible. But unless I am missing something here, it needs to be specified on every single relationship.

It would be great to have a less redundant way of configuring Doctrine to use a different name/suffix generally, e.g. by calling a setter method on the configuration object, like
$configuration->setDefaultIdColumnName().



 Comments   
Comment by Marc Hodgins [ 01/Nov/10 ]

Related to DDC-559

Comment by Benjamin Eberlei [ 24/Dec/11 ]

Related Pull Request was closed: https://github.com/doctrine/doctrine2/pull/241

Comment by Guilherme Blanco [ 24/Dec/11 ]

FIxed in https://github.com/doctrine/doctrine2/commit/abb258c951dd416fc5325ef548d15c7acd35703e

Comment by Benjamin Eberlei [ 05/Jul/12 ]

A related Github Pull-Request [GH-391] was opened
https://github.com/doctrine/doctrine2/pull/391

Comment by Doctrine Bot [ 23/Oct/13 ]

A related Github Pull-Request [GH-391] was closed:
https://github.com/doctrine/dbal/pull/391

Generated at Tue Oct 21 21:44:13 UTC 2014 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.