Drupal Blocks 設定の移行

  • Posted on: 17 March 2020
  • By: admin

テーマを変更してもBlock設定が引き継がれないので、SQLで対応します。

 

インストールされているテーマ一覧

$ drush sql-query "SELECT name,status,type FROM system WHERE type='theme' AND status=1;"
name    status  type
bartik  1       theme
best_responsive 1       theme
seven   1       theme

新テーマの block 設定クリア

$ sudo mysql -u root -D db_tech.octaviadata.com
MariaDB [db_tech.octaviadata.com]> DELETE FROM block WHERE theme = 'NEW_THEME_NAME';

旧テーマから block 設定移行

MariaDB [db_tech.octaviadata.com]> INSERT INTO block (`theme`,`module`,`delta`,`status`,`weight`,`region`,`custom`,`visibility`,`pages`,`title`,`cache`) (SELECT 'NEW_THEME_NAME', `module`,`delta`,`status`,`weight`,`region`,`custom`,`visibility`,`pages`,`title`,`cache` FROM block WHERE theme = 'OLD_THEME_NAME');