Migration from NC2 - opensource-workshop/connect-cms GitHub Wiki
NetCommons2 からの移行について
# migration option (Common)
MIGRATION_JOB_MONITOR=true
MIGRATION_JOB_LOG=true
MIGRATION_CONFIG_PATH=C:\connect-cms\_migration_config\migration_config.ini
# migration option (NetCommons2)
NC2_DB_CONNECTION=mysql
NC2_DB_HOST=127.0.0.1
NC2_DB_PORT=3306
NC2_DB_DATABASE=nc2_db
NC2_DB_USERNAME=nc_user
NC2_DB_PASSWORD=nc2_password
NC2_DB_PREFIX=nc2_
NC2_EXPORT_UPLOADS_PATH=C:\nc2\htdocs\webapp\uploads\
上記のように、.env に移行元のNC2 情報を設定する。
migration config のサンプル
app/Traits/Migration/sample/migration_config/migration_config.sample.ini
migration config は、移行コマンド(エクスポート・インポート)の設定ファイルです。
基本は設定変更しなくても動きます。
$ php artisan command:ExportNc2 対象 [redo(やり直し)]
$ php -d memory_limit=512M -d allow_url_fopen=1 artisan command:ExportNc2 all {redo}
$ php -d memory_limit=512M -d allow_url_fopen=1 artisan command:ExportNc2 uploads {redo}
$ php -d memory_limit=512M -d allow_url_fopen=1 artisan command:ExportNc2 categories {redo}
$ php -d memory_limit=512M -d allow_url_fopen=1 artisan command:ExportNc2 users {redo}
$ php -d memory_limit=512M -d allow_url_fopen=1 artisan command:ExportNc2 plugins all {redo}
$ php -d memory_limit=512M -d allow_url_fopen=1 artisan command:ExportNc2 plugins blogs {redo}
$ php -d memory_limit=512M -d allow_url_fopen=1 artisan command:ExportNc2 plugins databases {redo}
$ php -d memory_limit=512M -d allow_url_fopen=1 artisan command:ExportNc2 plugins forms {redo}
$ php -d memory_limit=512M -d allow_url_fopen=1 artisan command:ExportNc2 pages {redo}
export した際に storage\app\migration\import
以下にデータが作成される。
$ php artisan command:ImportSite 対象 [redo(やり直し)]
$ php artisan command:ImportSite all {redo}
$ php artisan command:ImportSite uploads {redo}
$ php artisan command:ImportSite categories {redo}
$ php artisan command:ImportSite users {redo}
$ php artisan command:ImportSite plugins all {redo}
$ php artisan command:ImportSite plugins blogs {redo}
$ php artisan command:ImportSite plugins databases {redo}
$ php artisan command:ImportSite plugins forms {redo}
$ php artisan command:ImportSite pages {redo}
エクスポートは ExportNc2 all が基本。NC2 をエクスポートします。
細かな指定は、デバッグ用です。
インポートはImportSite all が基本。
各コマンドの最後に redo をつけることで、データを消してやり直しします。
ページだけやり直したい。という場合は、ImportSite pages redo です。
ページのインポートには、フレーム、固定記事を含みます。
エクスポート時に出力した移行ファイルを部分的に上書きします。blocks
のみ対応。
storage\app\migration\@nc2_override
下に追加する。
上書き設定も export した際に作成される storage\app\migration\import
以下と同じ構成でフォルダを作成し、変更内容を配置する。
サンプルは app/Traits/Migration/sample/migration の下にあります。
インポート時に追加登録できます。インポートできる全プラグイン対応。
storage\app\migration\@insert
下に追加する。
追加データも export した際に作成される storage\app\migration\import
以下と同じ構成でフォルダを作成し、移行データを配置する。
サンプルは app/Traits/Migration/sample/migration の下にあります。
インポート時に移行ファイルを部分的に上書きします。frame
のみ対応。
storage\app\migration\@update
下に追加する。
上書き設定も export した際に作成される storage\app\migration\import
以下と同じ構成でフォルダを作成し、変更内容を配置する。
サンプルは app/Traits/Migration/sample/migration の下にあります。
Connect-CMS では、ファイルはページに紐づきます。
NC2 のグループルームに紐づいていたファイルは、グループルームの最初のページに紐づけられるように移行します。
NC2 の標準の公開エリアに紐づいていたものは、Connect-CMS では、紐づきページなし=公開ファイルとして移行されます。
ErrorException : parse_ini_file(C:\projects\connect-cms\htdocs\connect-cms\storage/app/migration/@insert/pages/0001/page.ini): failed to open stream: No such file or directory
at C:\projects\connect-cms\htdocs\connect-cms\app\Traits\Migration\MigrationTrait.php:764
760|
761| $this->putMonitor(1, "Page data loop.", "dir = " . basename($path));
762|
763| // ページの設定取得
> 764| $page_ini = parse_ini_file($path . '/page.ini', true);
765| //print_r($page_ini);
766|
767| // @insert で page.ini がない場合は、import から参照する。
768| if ($this->import_base == '@insert/') {
Exception trace:
1 parse_ini_file("C:\projects\connect-cms\htdocs\connect-cms\storage/app/migration/@insert/pages/0001/page.ini")
C:\projects\connect-cms\htdocs\connect-cms\app\Traits\Migration\MigrationTrait.php:764
2 App\Console\Commands\Migration\ImportSite::importSiteImpl("all")
C:\projects\connect-cms\htdocs\connect-cms\app\Traits\Migration\MigrationTrait.php:638
Please use the argument -v to see more details.
(Linuxの場合)
cp storage/app/migration/import/pages/0001/page.ini storage/app/migration/@insert/pages/0001/page.ini
(windowsの場合)
copy storage\app\migration\import\pages\0001\page.ini storage\app\migration\@insert\pages\0001\page.ini
- NC2移行プログラム参考