Skip to content
Mitsuru Mutaguchi edited this page Jun 15, 2023 · 30 revisions

NetCommons2 からの移行について

.env

# 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(やり直し)]  

NC2 からエクスポートの実行

$ 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

参考

Clone this wiki locally