Appearance
ヒートマップ島図テーブル 本番移行手順(Issue #1243)
ヒートマップ元データ(島図)をDBで管理するため、wp_db_heatmap_layout テーブルを導入する際の手順です。
1. テーブル作成(自動)
{prefix}db_heatmap_layout は Issue #1485 により、コード反映後に manage_options 権限のユーザーが WordPress 管理画面にアクセスすると、admin_init で AdminDatabaseInstaller::ensure_all() → HeatmapLayoutInstaller が dbDelta により冪等に作成します。通常稼働中は手動 CREATE TABLE は不要です。
- 推奨順序: 本番移行手順(参考・目次) に従い、デプロイ → PHP-DI キャッシュ削除 → 管理画面アクセスの順で実施してください。
- 停止中の本番移行:
.maintenanceによる WordPress メンテナンスモード中はwp-adminも 503 になり、管理画面アクセスによる自動作成は実行されません。停止中に作成する場合は、下記のいずれかで手動実行してください。 - 緊急リカバリ(Installer が失敗したとき):
HeatmapLayoutInstaller.php内のdbDelta用 CREATE 文字列を接頭辞に合わせて MySQL で実行してください。
2. 既存ファイルベースの島図をDBに取り込む(任意)
これまで Model/Data/heatmap/{hall}/{version}/ 配下の heatMap.csv と heatMapSimple.csv で管理していた島図は、管理画面から登録する。
- WordPress 管理画面 → 設定 → ヒートマップ島図 を開く。
- 新規登録 で、ホール・開始日・終了日を入力し、該当する 詳細用CSV(heatMap.csv) と 簡易用CSV(heatMapSimple.csv) をアップロードして登録する。
- 複数期間(バージョン)があるホールは、期間ごとに上記を繰り返す。
例(アイランド秋葉原で 2024/10/21 以降用とそれ以前用の2本がある場合):
- 1件目: ホール=アイランド秋葉原、開始日=2024-10-21、終了日=未来の日付、ファイル=
Model/Data/heatmap/island/20241021/heatMap.csvとheatMapSimple.csv - 2件目: ホール=アイランド秋葉原、開始日=過去の日付、終了日=2024-10-20、ファイル=
Model/Data/heatmap/island/直下のheatMap.csvとheatMapSimple.csv
3. デプロイ後
- コードデプロイ後、ヒートマップ表示はDBの適用期間に基づいて島図を参照する。
- PHP-DI キャッシュを使用している場合は、
wp-content/cache/php-di/CompiledContainer.phpを削除して再生成させる。