symfony - 使用 Doctrine 迁移重命名表名称

标签 symfony doctrine-orm doctrine-migrations

我几乎到处都找过了,但什么也没找到。

是否有命令或过程可以更改表的名称(因此在学说注释内)而不丢失数据?

基本上,会产生类似的东西

RENAME TABLE old_table TO new_table;

ALTER TABLE old_table RENAME new_table;

MySQL 命令取自 here

我应该使用 doctrine:migrations:generate 手动编写迁移文件吗?

最佳答案

  1. 更改给定实体的表名称。

    /** @Entity @Table(name="new_table_name") */
    class MyEntity { ... }
    
  2. 生成新的迁移。

  3. 删除 up()down() 方法的内容,并将其替换为自定义 SQL (ALTER TABLE ... RENAME TO ...).

请记住,迁移生成器是一种实用/半自动工具。

关于symfony - 使用 Doctrine 迁移重命名表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34532785/

相关文章:

php - 使用 Doctrine2 管理模式更改的工作流

php - Doctrine 2 无法运行 SELECT 查询问题

php - 选择多个实体学说

symfony - Doctrine 2 模式更新产生 MySQL errno 150,外键约束

symfony - 可以在 Symfony2 中使用不同的数据库凭据进行 Doctrine 迁移吗?

symfony - 处理Symfony2 Controller 中Ajax中的错误

php - Symfony 功能测试 - 如何使用请求模拟 Controller 注入(inject)的服务(提交)

php - "gaufrette"下无法识别的选项 "vich_uploader"

php - Symfony2、Liipimaginebundle 不起作用,并且不创建文件夹和图像

php - Symfony 4/doctrine 插入初始数据库数据