我错误地在我的模式中定义了一个名为的列desc
,它是一个保留关键字。我很快意识到我的错误并更改了我的架构,将我的架构列名修改为description
.
现在,当我运行doctrine:build --all
或者doctrine:build-sql
它仍然根据我过去的错误生成 sql 时。
我验证了这一点,因为它仍在生成语句desc
中的 sql 语句,该语句已被删除。我已经清除了我的缓存,删除了原始的 sql 文件,并清除了我的日志。
到底是如何doctrine:build-sql
产生一个被完全删除和删除的错误?我该如何纠正这个问题?
显然,在我能修复它之前,它doctrine:build
已经坏了。
编辑:
这是我的原始架构:
ReasonCode:
columns:
id: { type: integer, primary: true, notnull: true, autoincrement: true, unique: true }
desc: { type: string }
RejectionCode:
columns:
id: { type: integer, primary: true, notnull: true, autoincrement: true, unique: true }
desc: { type: string }
ConsiderationCode:
columns:
id: { type: integer, primary: true, notnull: true, autoincrement: true, unique: true }
desc: { type: string }
这是我修改后的架构:
ReasonCode:
columns:
id: { type: integer, primary: true, notnull: true, autoincrement: true, unique: true }
name: { type: string }
RejectionCode:
columns:
id: { type: integer, primary: true, notnull: true, autoincrement: true, unique: true }
name: { type: string }
ConsiderationCode:
columns:
id: { type: integer, primary: true, notnull: true, autoincrement: true, unique: true }
name: { type: string }
这是每次生成的生成的 sql 模式:
CREATE TABLE consideration_code (id BIGINT UNIQUE AUTO_INCREMENT, desc TEXT, name TEXT, PRIMARY KEY(id)) ENGINE = INNODB;
CREATE TABLE reason_code (id BIGINT UNIQUE AUTO_INCREMENT, desc TEXT, name TEXT, PRIMARY KEY(id)) ENGINE = INNODB;
CREATE TABLE rejection_code (id BIGINT UNIQUE AUTO_INCREMENT, desc TEXT, name TEXT, PRIMARY KEY(id)) ENGINE = INNODB;