I addition to my previous email, why it is trying to make auto-incrementing
the FK of owning side? it should be auto-incrementing?
If no, how to fix it? I guess:
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_IDENTITY);
should be changed to GENERATOR_TYPE_NONE
right?
I appreciate your help to both my previous email and this email as stuck on
this.



On Mon, Jun 2, 2014 at 5:17 PM, Nima Sadjadi <[email protected]> wrote:

>
> I have two OneToOne entities, client is reverse side and credit is owning
> side.
> the identifier of client is auto-incrementing. and the identifer of credit
> is not auto incrementing but is still primary.
>
> strangely, when I want to update db, I get FK on both sides but FK should
> be on credit table only:
>
> I am stuck on this, please help.
>
> ALTER TABLE credits CHANGE client_id client_id INT AUTO_INCREMENT NOT NULL;
> ALTER TABLE credits ADD CONSTRAINT FK_3849450A19EB6921 FOREIGN KEY
> (client_id) REFERENCES clients (client_id);
> ALTER TABLE clients ADD CONSTRAINT FK_7996BA0019EB6921 FOREIGN KEY
> (client_id) REFERENCES credits (client_id) ON DELETE CASCADE;
> On Client entity, here is the info:
> $metadata->mapField(array(
>    'fieldName' => 'clientId',
>    'columnName' => 'client_id',
>    'type' => 'integer',
>    'nullable' => false,
>    'unsigned' => false,
>    'comment' => '',
>    'id' => true,
>   ));
> $metadata->mapOneToOne(array( 'fieldName' => 'credit',
>                                'targetEntity' => 'Entities\\Credit',
>                                'mappedBy' => 'client',
>                  'cascade' => array( 0 => 'remove', 1 => 'persist', ),
>                                'joinColumns' => array( 0 => array( 'name'
> => 'client_id',
>
> 'referencedColumnName' => 'client_id',
>
> 'nullable' => true,
>                  'onDelete' => 'cascade',
>
> 'columnDefinition' => NULL,
>                                                       ), )
>
>                              ));
>
> and on credit entity I have this:
>
> $metadata->mapField(array(
>    'fieldName' => 'clientId',
>    'columnName' => 'client_id',
>    'type' => 'integer',
>    'nullable' => false,
>    'unsigned' => true,
>    'comment' => '',
>    'id' => true,
>   ));
> $metadata->mapOneToOne(array( 'fieldName' => 'client',
>                                'targetEntity' => 'Entities\\Client',
>                                'inversedBy' => 'credit',
>                                'joinColumns' => array( 0 => array( 'name'
> => 'client_id',
>
> 'referencedColumnName' => 'client_id',
>
> 'nullable' => true,
>
> 'columnDefinition' => NULL,
>                                                       ), )
>
>                              ));
>
>
>

-- 
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