【发布时间】:2017-02-04 20:54:41
【问题描述】:
我有一个以列 id 作为主键的用户表。我在其他几个表中引用了这一列。现在我想将用户表 id 列的数据类型更改为 Bigint。因此,我将“整数”更改为“大整数”并成功生成实体。但是,如果我尝试更新架构,它就会失败。请就此提出建议。
主表(用户)yml:
table: users
id:
id:
type: bigint
generator: { strategy: AUTO }
示例引用表(user_profiles)yml:
oneToOne:
user_id:
targetEntity: Users
inversedBy: userprofile
joinColumn:
name: user_id
referencedColumnName: id
错误
php 应用程序/控制台原则:schema:update --force
[Doctrine\DBAL\Exception\DriverException] 执行 'ALTER TABLE user_claim A 时发生异常 DD CONSTRAINT FK_CDFFA2C4A76ED395 FOREIGN KEY (user_id) REFERENCES users (id)': SQLSTATE[HY000]: 一般错误:1215 无法添加外键约束
我也尝试在 MySql 命令提示符下SET FOREIGN_KEY_CHECKS=0;。但是没用。
【问题讨论】:
-
是否有任何选项可以在不检查外键的情况下更新架构?
标签: php mysql symfony doctrine-orm