AppCotton は「ライセンス」「プラン」「注文」「アクティベーション履歴」など、
販売事業の中核となるデータ を扱います。
そのため、万が一に備えた バックアップと復元の運用ルール が重要です。
1. バックアップ対象となるデータ
データベース(必須)
| テーブル名 | 内容 | 重要度 |
|---|---|---|
appcotton_products | プロダクト定義 | ★★★ |
appcotton_product_plans | プラン/価格/アクティベーション上限 | ★★★★★ |
appcotton_licenses | ライセンスキー / 有効期限 / 所有者 | ★★★★★ |
appcotton_license_activations | ドメイン認証履歴 | ★★★★☆ |
appcotton_orders | Stripe注文情報(Webhook反映済) | ★★★★☆ |
これらが揃って初めて ライセンス利用状況が復元できます。
外部サービス側のデータ
| サービス | 内容 | 保全方法 |
|---|---|---|
| Stripe | 価格定義(Price)・決済履歴・顧客情報 | Stripe 側が保持(削除しないこと) |
| メール配信基盤 | メールテンプレート・通知履歴 | エクスポート推奨 |
2. 推奨バックアップ方法
WordPress 全体をまとめてバックアップ(推奨)
| 項目 | 推奨理由 |
|---|---|
| データベース全体 | ライセンス・ユーザー情報は DB に保存 |
wp-content/plugins/appcotton | バージョン差異による DB 構造不一致を防ぐ |
| テーマ / 他プラグイン | マイページ UI に影響 |
自動バックアップを設定する
| 項目 | 推奨頻度 | ツール |
|---|---|---|
| DB | 毎日 | UpdraftPlus / Xserver自動バックアップ |
| Webサイト全体 | 週1 | BackWPup / JetBackup など |
| Stripe 設定エクスポート | 月1 | Stripe Dashboard > Data |
3. 復元の手順
前提
- 復元先の WordPress / PHP / AppCotton バージョンは、バックアップ時と同等に合わせる。
手順
- WordPress + DB のバックアップを同時に復元する
(片方だけ復元すると整合性エラーが起きやすい) - 管理画面へログイン
- AppCotton → 「設定」 → データベース修復(Repair Database) を実行
→ テーブル構造の差異がある場合、自動で補正します - 必要であれば、Stripe Webhook の送信先 URL が正しいか確認
- ライセンス検証をテストする
4. 復元後に確認すべきチェックリスト
| 確認項目 | 期待される状態 |
|---|---|
| ライセンス一覧が表示できる | エラーなしで一覧がロードされる |
| 任意のライセンス詳細が開ける | アクティベーション履歴が表示される |
| マイページで自分のライセンスが見える | ログイン紐付けが維持されている |
| Stripe Webhook が「受信成功」状態 | checkout.session.completed が 200 で返る |
| 新規購入が実行できる | Checkout → Webhook → ライセンス発行まで通る |
Webhook が通らない場合、購入は成功してもライセンスが発行されません。
5. よくある復元ミスと対策
| 症状 | 原因 | 対策 |
|---|---|---|
| ライセンス一覧が空になる | appcotton_licenses テーブル未復元 | DBを再度完全にインポート |
| アクティベーション数がリセットされる | appcotton_license_activations 未復元 | activation テーブルも含めて復元 |
| ライセンスが「未認証」になる | ドメイン正規化ルールが異なる | AppCotton のバージョンを揃える |
| 決済は成功するのにライセンスが作られない | Webhook未到達 | Stripe Dashboard → Webhookログを確認 |
6. バージョン管理とリリース方針
| 項目 | 運用原則 |
|---|---|
| AppCotton の更新 | 本番適用前にステージングで動作確認 |
| DB構造変更(Migration) | アップデート時に自動実行されるが、バックアップが必須 |
| SDK / 利用プラグイン側の互換性 | 破壊的変更は事前告知とリリースノートで明記 |
まとめ
| 要素 | 優先度 | ポイント |
|---|---|---|
| DBバックアップ | ★★★★★ | ライセンス資産の根幹 |
| Stripe データ | ★★★★☆ | 決済履歴・アップグレード履歴の整合性 |
| Webhook | ★★★★☆ | 購入 → ライセンス反映の生命線 |
| Repair DB 機能 | ★★★★☆ | 復元後の整合性確保に使う |
バックアップは「復元して初めて成功」。
月1回は必ずテスト用環境で復元リハーサルを実施してください。