使用 Doctrine 迁移重命名 table 名称

Rename table name with Doctrine migrations

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

是否有命令或程序可以在不丢失数据的情况下更改 table 的名称(因此在条令注释中)?

基本上,会产生类似

的东西
RENAME TABLE old_table TO new_table;

ALTER TABLE old_table RENAME new_table;

MySQL 命令取自 here

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

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

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

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

请记住,迁移生成器是 utility/semi-automatic 工具。