テストサイトから本番サイトへ編集内容を一括で移動する
バックアップ機能を使って移動
バックアップで特定のテーブルのみを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(テンプレート変数)
選択するのが面倒くさいのでコンテンツテーブルにだけチェックを入れるプラグインでも作ろうとおもってるけどなかなか‥(´・ω・`)
スナップショット機能を使って移動
本来は編集ミスやアップデートで失敗した時元に戻せるようにするためにデータベースの状態を一時保存しておくための機能なんですが、テーブルを選択する手間がないので私はよくこれを使って移動してます。
グローバル設定が含まれるため、サイト設定でサイトのURL、ベースURLなどのURL設定を[(site_url)]や[(base_url)]以外に設定している場合はこの方法は使えません。
例)シンボリックリンクなどを使ってデフォルトの値から変更している場合。
例)シンボリックリンクなどを使ってデフォルトの値から変更している場合。
- テスト用と本番用でそれぞれ「コンテンツデータのみ」にチェックを入れスナップショットを作成します。
- テスト用のスナップショットをFTPソフトを使って本番サイトのフォルダにアップロードします。
「保存先」と書かれたフォルダにファイルが保存されています。 - 本番サイトでアップロードしたテストサイトデータの「このデータに戻す」を押します。
テストサイトと本番サイトでチェックファイルの更新日が変わるため「大事なファイルが書き換えられています」という警告が出ますがグローバル設定を更新すると消えます。
このため上書きするより前に警告があっても分からなくなってしまうので、テストデータを上書きする前にエラーが出てないか確認しておく事をおすすめします。
スナップショットの処理としては以下の特定のテーブルのみを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」のみをバックアップしてそのファイルをリストアするだけでも十分だったりします。