Переименуйте имя таблицы с помощью миграции доктрин
Я искал почти везде, но ничего не смог найти.
Есть ли команда или процедура для изменения имени таблицы (так внутри аннотации доктрины) без потери данных?
В основном, то, что будет производить что-то вроде
RENAME TABLE old_table TO new_table;
или же
ALTER TABLE old_table RENAME new_table;
MySQL команды взяты отсюда
Должен ли я написать вручную файл миграции с doctrine:migrations:generate
?
1 ответ
Решение
Изменить имя таблицы для данного объекта.
/** @Entity @Table(name="new_table_name") */ class MyEntity { ... }
Создайте новую миграцию.
- Стереть содержимое
up()
а такжеdown()
методы и заменить их на пользовательский SQL (ALTER TABLE ... RENAME TO ...
).
Имейте в виду, что генератор миграции подразумевается как утилита / полуавтоматический инструмент.