Migration from NC2
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移行プログラム参考
- home
- Overview
- Install
- Install (インストール)(Linux等へのインストール:root権限ある場合)
- Install-XAMPP(Windows+XAMPP)
-
Install-sakura(さくらのレンタルサーバ)
- Install-sakura-root(ドキュメントルート版)
- Install-Xserver(XServer)
- Install-lolipop(ロリポップ-ハイスピードプラン)
- Install-ColorfulBox(カラフルボックス)
- install-CentOS7+PHP7
- install-Docker
- Update (アップデート)
- Plans
- Data
- File Upload
- Design
- Theme(テーマ)
- Font-Icon
- Button(ボタン)
- Display of input error(入力エラーの表示)
- Multi Language
- Policies
- Plugin
- Basic function(基本の関数)
- Opac(蔵書管理)
- OpeningCalendar(開館カレンダー)
- Template(テンプレート)
- Cabinet(キャビネット)
- Whatsnew(新着)
- Search(サイト内検索)
- Approval(承認機能)
- Holidays(祝日管理)
- Menu(メニュー)
-
OriginalPlugin(オリジナル・プラグイン開発)
- OriginalPluginFiles(ファイル一覧)
- Sample.php
- SamplePost.php
- plugin.ini
- SamplesPlugin.php
- create_samples_table.php
- create_sample_posts_table.php
- samples_frame_edit_tab.blade.php
- card/index.blade.php
- card/template.ini
- default/bucket.blade.php
- default/edit.blade.php
- default/empty_bucket.blade.php
- default/index.blade.php
- default/list_buckets.blade.php
- default/show.blade.php
- default/template.ini
- WYSIWYG
- Session
- Programing tips
- Rule(ルール)
- Laravel method tips
- Laravel reference pages
- PHP
- phpcs
- Datetimepicker
- Hook(処理のフック)
- SQL
- Pull-Request(Web画面上)
- Post
- Optimize
- Composer
- npm
- コントローラー側の$this--can()-の調査
- API (外部サービスAPI)
- Test Case(テストケース)
- memo(永原のメモ)
- TCPDF(実装サンプル)
-
Dusk(ブラウザテスト)
- Github-Actions-Dusk(Github Actionsでブラウザテスト)
- Dusk-Manual(マニュアル自動生成)
- Develop-Windows(Windows開発環境)
- Phpunit(ユニットテスト)
- users_columns(ユーザ任意項目)
- container-page-beta(コンテナ方式(ページ)対応(ベータ版))
- Migration
- Other
- Link
- MultiLanguage(多言語化の際の注意点)