初めての試みとして ChatGPT にスクリプトを書かせて半自動化してみた
スクリプト自体は dry-run モードの実装等追加にて要件足したけど問題なく完成。実行も問題なし
ただし、mt-upgrade.cgi をたたいた際にMySQLサーバの sql_mode に STRICT_TRANS_TABLES が入っていたためエラーで停止。。。
そこで、以下のように一時的に sql_mode から STRICT_TRANS_TABLES を外して無事アップグレード成功
-- 現在値を控えておく(メモにコピペしておく)
SHOW VARIABLES LIKE 'sql_mode';
-- STRICT_TRANS_TABLES を外す
SET GLOBAL sql_mode = REPLACE(@@GLOBAL.sql_mode, 'STRICT_TRANS_TABLES', '');
-- STRICT_ALL_TABLES が入っていればこれも外す
SET GLOBAL sql_mode = REPLACE(@@GLOBAL.sql_mode, 'STRICT_ALL_TABLES', '');
-- 念のためhttpd再起動後mt-upgrade.cgiを実施、完了したら以下のように元に戻す
SET GLOBAL sql_mode = '<元の値>';
コメントする