使用Doctrine迁移重命名表名

Don*_*sto 6 symfony doctrine-orm doctrine-migrations

我几乎到处搜索,但我找不到任何东西.

是否有一个命令或程序来更改表的名称(所以在doctrine内部注释)而不丢失数据?

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

RENAME TABLE old_table TO new_table;
Run Code Online (Sandbox Code Playgroud)

要么

ALTER TABLE old_table RENAME new_table;
Run Code Online (Sandbox Code Playgroud)

MySQL命令取自这里

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

Cro*_*zin 9

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

    /** @Entity @Table(name="new_table_name") */
    class MyEntity { ... }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 生成新的迁移.

  3. 擦除内容up()down()方法,并用自定义SQL(ALTER TABLE ... RENAME TO ...)替换它们.

请记住,迁移生成器是指实用/半自动工具.

  • 这不处理更新外键约束。 (4认同)
  • 是的,所以,基本上,我可以通过运行 `php app/consoledoctrine:migrations:generate` 来达到相同的效果(这确实是我到目前为止所做的) (2认同)