テストサイトから本番サイトへ編集内容を一括で移動する

最終更新日
2017.10.05

移行作業中のため一部のページが正しく表示されていない場合があります(o-ω-))

テストサイトから本番サイトへ編集内容を一括で移動するお手軽な方法です。

スナップショット機能を使って移動

本来は編集ミスやアップデートで失敗した時元に戻せるようにするためにデータベースの状態を一時保存しておくための機能なんですが、テーブルを選択する手間がないので私はよくこれを使って移動してます。

グローバル設定が含まれるため、サイト設定でサイトの URL、ベースURL などの URL 設定を[(site_url)]や[(base_url)]以外に設定している場合はこの方法は使えません。

例)シンボリックリンクなどを使ってデフォルトの値から変更している場合。

  1. テスト用と本番用でそれぞれ「コンテンツデータのみ」にチェックを入れスナップショットを作成します。
  2. テスト用のスナップショットをFTPソフトを使って本番サイトのフォルダにアップロードします。
    「保存先」と書かれたフォルダにファイルが保存されています。
  3. 本番サイトでアップロードしたテストサイトデータの「このデータに戻す」を押します。

テストサイトと本番サイトでチェックファイルの更新日が変わるため「大事なファイルが書き換えられています」という警告が出ますがグローバル設定を更新すると消えます。
このため上書きするより前に警告があっても分からなくなってしまうので、テストデータを上書きする前にエラーが出てないか確認しておく事をおすすめします。

スナップショットの処理としては以下の特定のテーブルのみを SQL を実行しているだけなので、バックアップでも同じような事は可能です。

スナップショットで拾われるテーブル

  • modx_site_content(リソース)
  • modx_site_htmlsnippets(チャンク)
  • modx_site_templates(テンプレート)
  • modx_site_tmplvar_access(テンプレート変数のアクセス制限)
  • modx_site_tmplvar_contentvalues(テンプレート変数の各リソースの内容)
  • modx_site_tmplvar_templates(テンプレート変数を使うテンプレートとの紐付け)
  • modx_site_tmplvars(テンプレート変数)
  • modx_system_settings(グローバル設定)

バックアップ機能を使って移動する場合、サイトの編集内容の移動なら「modx_system_settings」以外のテーブル、リソースデータだけを移動するなら「modx_site_content」「modx_site_tmplvar_contentvalues」のみをバックアップしてそのファイルをリストアするだけでも十分だったりします。

バックアップ機能を使って移動

バックアップで特定のテーブルのみを SQL に書き出す事ができます。

  • modx_site_content(リソース)
  • modx_site_htmlsnippets(チャンク)
  • modx_site_templates(テンプレート)
  • modx_site_tmplvar_access(テンプレート変数のアクセス制限)
  • modx_site_tmplvar_contentvalues(テンプレート変数の各リソースの内容)
  • modx_site_tmplvar_templates(テンプレート変数を使うテンプレートとの紐付け)
  • modx_site_tmplvars(テンプレート変数)