Doctrine 2 Orm ManyToOne 带有未签名的外键

问题描述 投票:0回答:1

我正在使用带有 Doctrine ORM 2 注释的 Symfony3。

我从现有的 MySQL 数据库生成实体。我也写了所有的关系。 在更新数据库 I 模式之前,我使用了命令

php app/console doctrine:schema:update --dump-sql

我拥有所有未签名的 INT 主键,因此也有相关的外键。 现在我注意到 Doctrine ORM 不允许使用

options={"unsigned":true}

@JoinColumn

那么我该如何解决这个问题呢? 我必须让 Doctrine 重写所有密钥吗? 我不知道该怎么做才能避免损坏数据库和数据。

doctrine-orm orm symfony
1个回答
0
投票

你不需要说出你想要什么具体类型。 Doctrine 在创建表时会自动执行。 如果您想从当前表(int -> int)迁移到新表格式(unsigned int -> unsigned int),您可以执行一些额外的迁移命令:

  1. 删除当前外键。
  2. 更改表格的列类型
  3. 为您的表创建外键。

您可以手动执行此操作或使用此命令进行迁移。 我希望这能帮助所有有类似问题的人。

© www.soinside.com 2019 - 2024. All rights reserved.