Как изменить Storage Engine для всех MySQL таблиц
Если у вас в БД несколько десятков (сотен) таблиц - процедура изменения движка вручную (Storage Engine
) становится длительной задачей... В другом случае вам может понадобится довольно часто менять тип движка, пусть даже для нескольких таблиц. Например для реверс инжиниринга. В моем случае нужно было сгенерить модели Propel
'а по схеме существующей БД.
Решение на PHP
Есть PHP скрипт для изменения Storage Engine
всех MyISAM
таблиц на InnoDB
тут.
Решение под MySQL Workbench
Но мне нужно было изменить Storage Engine
для нескольких десятков таблиц в ER-модели MySQL Workbench. Как выяснилось, для этой задачи уже давно написали скрипт-расширение под Workbench: Tools » Utilities » Change the Storage Engine of All Tables. В появившемся окне нужно задать нужный движок MyISAM
или InnoDB
.
Примечание
Если таблиц не много, можно по простому заюзать:
ALTER TABLE table_name ENGINE=InnoDB;