Drupal 7 to Drupal 10筆記
Drupal 7 撐那麼久,確定2025年1月要EOL了(這次應該不會再延了?!)
目前我研究的升級方法有兩種,一種是直接用drush,額外加裝 https://www.drupal.org/project/migrate_upgrade
裝好後在Drupal10的站,儘可能的把所有的模組補齊後再執行
drush migrate-upgrade --legacy-db-url=mysql://root:password@localhost/d7sitedb --legacy-root=https://www.d7site.com
我第一次跑完出現錯誤,直接把錯誤訊息丟給ChatGPT,
在settings.php寫入下面2段語法就成功跑過了
$settings = $source['settings'] ?? []; // 如果 'settings' 不存在,則使用空數組
$filtered_settings = array_filter($settings, function($value) {
// 過濾邏輯
});
基本上內容有關的能過去就好,不強求全部,剩下版型及views再重排(小站要花好幾天,大站可能要花幾個月唷!)
PS.內建ui的升級成功率較低
除了drush,另一種是更乾淨的作法,就是把d7的站輸出成json或xml,d10的新站再用feeds匯入,內容保證完美
我其實用drush的方式已經有成功轉8-9成,不過有幾件蠻頭痛的事Drupal已不支援在頁面讓你自己寫php了,目前想到的方法是要自己寫一個小模組掛上去用區塊的方式呈現;我還有另一個更頭痛的是amp,amp我有裝起來也能運作,但過不了google的驗證
此外,amp和feeds_ex有衝突,同時啟用網站就會掛掉 gravitypdf/querypath 的關係
這次的升級,算是有ChatGPT後的第一次升級,還算順利
留言