Skip to content

本番移行手順(参考・目次)

注記: 本番への初回スキーマ反映は完了済みです。初期データ投入など未了の作業は各導入手順を参照してください。このディレクトリは参考保存として残しています。DDL の正本は core_src/Infrastructure/Database/ 配下の各 *Installer.phpdbDelta 用の CREATE 文字列)です。緊急時は当該クラスから SQL をコピーするか、手順書本文の CREATE TABLE ブロックを参照してください。

本番移行の全体像と実行順序は 本番環境移行手順(概要) を参照してください。各手順の詳細はリンク先の個別ファイルを参照してください。

本番環境に反映する DB 変更(テーブル追加)と、推奨実行順序の一覧です。

Issue #1485 による変更: テーブル作成は core_src/Infrastructure/Database/ 配下の Installer クラスが dbDelta で自動実行します。管理画面を開くだけでスキーマが揃うため、通常運用では手動 CREATE TABLE は不要 です。個別手順書の CREATE TABLE ブロックや各 *Installer.php 内の dbDelta 用 CREATE 文字列は、Installer が失敗した場合の緊急リカバリ用です。ただし、.maintenance による WordPress メンテナンスモード中は wp-admin も 503 になり、Installer は実行されません。停止中に DB 変更まで完了する本番移行では、上記を参照して手動実行してください。

対象テーブル

本番での推奨順序

  1. コード・デプロイ本番環境デプロイ に従い、ビルド・デプロイを実施する。

  2. PHP-DI キャッシュ削除 デプロイ手順(activate.sh)にキャッシュ削除が含まれている場合は自動で実行される。activate.sh を使わない場合は、管理画面アクセス前に手動で PHP-DI キャッシュを削除すること。対象: イベントマスタ、機種表示マッピング、ヒートマップ島図、P-WORLDメールアーカイブ。

  3. テーブル作成 通常稼働中の環境では WordPress 管理画面にアクセスする。admin_init フックで AdminDatabaseInstaller::ensure_all() が実行され、以下のテーブルが自動作成される(core_src/Infrastructure/Database/ 配下の各 Installer が dbDelta + バージョン管理で冪等に実行)。.maintenance 停止中の本番移行では管理画面アクセスが 503 で止まるため、個別手順書の CREATE TABLE SQL を手動実行する。

    • db_event_master
    • db_what_day_master
    • db_daily_article_what_day
    • db_daily_article_emoji
    • db_daily_article_consideration
    • db_kishu_display_mapping
    • db_heatmap_layout
    • pworld_mail_archive
    • pworld_capture_image
  4. 初期データ投入(手動) 以下は Installer の責務外。手順書または管理画面から実施する。

  5. P-WORLDメールアーカイブ設定wp-config.php に IMAP 定数(PWORLD_IMAP_HOST / PWORLD_IMAP_USER / PWORLD_IMAP_PASSWORD)を設定する。初期データは不要で、管理画面「今すぐ取得・保存する」で取り込む。 手順は pworld-mail-archive-table-production.md を参照。

  6. 日別記事の下書き自動作成(任意 / 5b) 管理画面「日別記事」→「自動作成(21:00)」で有効化する。サイトのタイムゾーンで毎日 21:00 に翌日分の下書きを自動作成する(未作成のときのみ)。WP-Cron の確実な発火については 本番環境移行手順(概要) の該当節を参照。

  7. 誕生日テーブル(任意) db_birthdayUNIQUE(month, day, chara, divi, title)BirthdaySeedInstaller が管理画面初回読み込み時に自動適用。詳細は birthday-table-unique-deduplication.md を参照。

関連ドキュメント