在不丢失数据的情况下重命名原则 2 中的字段

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

这似乎是显而易见的事情,但我根本无法通过谷歌搜索找到信息。 如何在不丢失数据的情况下重命名 Doctrine2 中的字段(即删除旧字段并创建新字段)?

谢谢!

mysql doctrine-orm
2个回答
4
投票

针对数据库手动运行 SQL 查询以重命名字段。

虽然 Doctrine 2 模式工具存在,但它并不意味着用于修改生产数据库,因此不一定以不丢失数据的方式执行操作(另外,检测诸如仅根据实体的元数据即可 100% 准确地重命名列)


0
投票

您只需重命名实体类中的属性及其方法:

#[ORM\列(长度: 255)]
私有? string $old_name = null; // 将其更改为 new_name

...然后生成一个新的迁移,这将为您提供:

ALTER TABLE 表更改 旧名称 新名称 VARCHAR(255) NOT NULL

...执行此迁移后,不会丢失任何数据。

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