コンフィグ・ルール・モジュールのインポート
Ver. 2.7.0 より、コンフィグ・ルール・モジュールのみのエクスポート・インポートに対応しました。この機能を使うことにより、開発環境で設定したコンフィグやモジュールを、すでに運用されている本番環境にエントリーなどに影響を与えることなく、インポートすることができるようになりました。
エクスポート
ブログ単位でエクスポートを行います。エクスポートは 管理ページ > コンフィグ > エクスポート(コンフィグ / ルール / モジュール) からエクスポートできます。
エクスポートデータは YAML形式 で書き出されます。
インポート
ブログ単位でインポートを行います。インポートは 管理ページ > コンフィグ > インポート (コンフィグ / ルール / モジュール) からエクスポートしたYAMLファイルを指定することでインポートできます。
既存のコンフィグ / ルール / モジュールを削除してインポートを行いますので、ご注意ください。
仕様
以下の手順でインポートを行います。
- 対象ブログのコンフィグ・ルール・モジュールの削除
- エントリーID, カテゴリーIDなどの新しいIDを発行
- インポートデータのIDと新しいIDをコードベースで比較を行い、置き換え
- データのインポート
IDのずれ対応
開発環境と本番環境でエントリーIDやカテゴリーIDが違う可能性があります。 そこで、エントリーコードやカテゴリーコードなどのコードベースで比較を行い、IDを変換してインポートを行います。
例えば開発環境で、お知らせ(CID: 11)で絞り込んでいるEntry_SummaryモジュールIDを作ったとします。 しかし本番環境ではお知らせカテゴリーがCID: 13 だったとします。このままだとデータベースのデータをそのままインポートしてしまうと、IDがずれ、「お知らせ」で絞りこめなくなってしまいます。
そこで、インポート時にモジュールIDで参照されているCIDをコードベースで比較を行い 11 から 13 に自動的に変換することにより、インポートしてもデータのずれを防ぐことができます。
エラーレポート
インポートを行った結果、以下のような理由によりインポートに失敗する項目が出てきます。インポートに失敗した項目についてはレポートが出ますので、問題のあるモジュールなどを修正ください。
IDの変換に失敗
モジュールIDやルールに設定してある、ID類(エントリーID, カテゴリーIDなど)がコードベースで見つからない場合は、モジュール自体はインポートされますが、ID設定は空に設定されます。
IDの重複によりインポートに失敗
親ブログに同名のグローバル設定のモジュールIDが存在する場合は、重複によりそのモジュールIDはインポートされません。