使用Doctrine迁移重命名表名

时间:2015-12-30 15:56:13

标签: symfony doctrine-orm doctrine-migrations

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

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

基本上,会产生类似

的东西
RENAME TABLE old_table TO new_table;

ALTER TABLE old_table RENAME new_table;

here

获取的MySQL命令

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

1 个答案:

答案 0 :(得分:9)

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

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

  3. 删除up()down()方法的内容,并将其替换为自定义SQL(ALTER TABLE ... RENAME TO ...)。
  4. 请记住,迁移生成器是指实用/半自动工具。