Re2: NetCommons3からのデータ移行
2023年9月20日 16時50分 [光琳館]開発済みとのこと、とても有難いです。
教えてくださった資料を見ながら試してみたいと思います。
早速のコメントをありがとうございました!
以下の目的、注意点などご確認いただき、ご使用ください。
当フォーラムでは、Connect-CMSのトラブルなどの相談も記載いただけますが、作業を肩代わりするものではありません。
作業の依頼は、株式会社オープンソース・ワークショップの調査メニューなどをご検討ください。
https://opensource-workshop.jp/service/rescue
開発済みとのこと、とても有難いです。
教えてくださった資料を見ながら試してみたいと思います。
早速のコメントをありがとうございました!
よくある質問(FAQ)に、
> Q NetCommons3からConnect-CMSへのデータ移行はできますか?
> A 現在(2020-07-13)、一部のみ、移行が可能です。
とあります。
最新版は、どの程度、自動で移行が可能な状況なのでしょうか?
よくある質問(FAQ)、情報が古いままですね(汗)
NetCommons3の移行コマンドは開発済みですので、移行できると思います。(NetCommons2の移行コマンドと同程度の移行はできるかと)
何が移行できる・できないについて、詳細が知りたい場合は実際に移行コマンドをお試しください。
https://github.com/opensource-workshop/connect-cms/wiki/Migration-from-NC3
ご参考まで。
開発済みとのこと、とても有難いです。
教えてくださった資料を見ながら試してみたいと思います。
早速のコメントをありがとうございました!
新規スレッドでは無くこのスレッドに書かせていただきます。
NetCommons3.3.5からデータ移行をやってみました。
1)サイト管理・システム管理の内容は移行できていませんでしたが、手作業で登録すれば大丈夫そうです。
2)会員管理ではユーザは移行できていましたが、パスワードは移行されていませんでした。これはちょっと困ります。
3)画像や添付ファイルが表示されていませんでした。シンボリックリンクでサイト名/publicでアクセスできるようにしていましたが、さらに.htaccessでサイト名/でアクセスできるようにすることで表示されるようになりました。
4)新着情報でNetCommonsでは対応していたお知らせ・カレンダー・キャビネットが対応していない。
会員管理でパスワードが移行されていないのは自分の環境のせいなのか、現在の仕様なのかわかりませんが、このままではNC3からの移行はちょっと厳しいと思います。
要望としては新着情報でお知らせ・カレンダーに対応して頂ければと思います。
こんにちは。
> 2)会員管理ではユーザは移行できていましたが、パスワードは移行されていませんでした。これはちょっと困ります。
あら、なんだろう?
移行できるはずなんですが、ちょっと原因がわからないですね。
当てずっぽうですが .env の
---------
NC3_APPLICATION_YML_PATH=/path_to_nc3/app/Config/application.yml
---------
のパスが間違ってたりすると、NC3のパスワードでログインできなくなるのかなぁ位です。
> 3)画像や添付ファイルが表示されていませんでした。シンボリックリンクでサイト名/publicでアクセスできるようにしていましたが、さらに.htaccessでサイト名/でアクセスできるようにすることで表示されるようになりました。
なるほど。
サーバ環境がわからないのですが、シンボリックリンクを貼るとなると、さくらインターネットのような環境ですかね。
さくらインターネットのインストール例)
https://github.com/opensource-workshop/connect-cms/wiki/Install-sakura#シンボリックリンク作成
さくらのようなレンタルサーバ環境で移行すると、その対応が必要そうですね。
情報ありがとうございます。
(移行ツールは、サイト名/ 配下で参照されるよう画像は移行されます。)
以前の話題からすると、XREA Freeかな?
> 4)新着情報でNetCommonsでは対応していたお知らせ・カレンダー・キャビネットが対応していない。
今後対応したいなぁ。
返信ありがとうございます。
サーバーはXREA Freeです。
>> 2)会員管理ではユーザは移行できていましたが、パスワードは移行されていませんでした。これはちょっと困ります。
>あら、なんだろう?
> 移行できるはずなんですが、ちょっと原因がわからないですね。
>当てずっぽうですが .env の
---------
>> NC3_APPLICATION_YML_PATH=/path_to_nc3/app/Config/application.yml
---------
>のパスが間違ってたりすると、NC3のパスワードでログインできなくなるのかなぁ位です。
connect-cms/storage/app/migration/import/users/users.ini を確認するとpasswordがちゃんとあるのでインポートの時に何か不具合があったのでしょうか。
>> 4)新着情報でNetCommonsでは対応していたお知らせ・カレンダー・キャビネットが対応していない。
>今後対応したいなぁ。
よろしくお願いします。
> connect-cms/storage/app/migration/import/users/users.ini を確認するとpasswordがちゃんとあるのでインポートの時に何か不具合があったのでしょうか。
うーん、わからずです。すみません。
NC3_APPLICATION_YML_PATH=/path_to_nc3/app/Config/application.yml
の設定からとれるのが下記設定なので、下記値があるかどうかでしょうか。
(パスワード関連の値なので、実値は書き込まないようにお願いします。)
connect-cms/storage/app/migration/import/basic/basic.ini
nc3_security_salt ="xxxxx"
> connect-cms/storage/app/migration/import/basic/basic.ini
> nc3_security_salt ="xxxxx"
nc3_security_saltには値が入っていました。同じbasic.iniにあるbase_site_nameやdescriptionの値もインポートされていません。
artisan command:ImportSite allの際にConnection.php line 712、Exception.php line 18、PDOStatement.php line 117で以下のようなエラーが出てましたが、関係あるでしょうか。
SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a t
able referenced in a foreign key constraint (`DB名`.`databases_sear
ched_words`, CONSTRAINT `databases_searched_words_databases_id_foreign` FOR
EIGN KEY (`databases_id`) REFERENCES `DB名`.`databases` (`id`)) (SQ
L: truncate table `databases`)
> artisan command:ImportSite allの際にConnection.php line 712、Exception.php line 18、PDOStatement.php line 117で以下のようなエラーが出てましたが、関係あるでしょうか。
関係ありですね。
インポート途中でエラー出て停止してます。
その影響でNC3パスワードでログインできなかったのかと。
2か月前位に出てたバグなので、最新では直ってると思います。
参考まで。
> > artisan command:ImportSite allの際にConnection.php line 712、Exception.php line 18、PDOStatement.php line 117で以下のようなエラーが出てましたが、関係あるでしょうか。
> 関係ありですね。
> インポート途中でエラー出て停止してます。
> その影響でNC3パスワードでログインできなかったのかと。
> 2か月前位に出てたバグなので、最新では直ってると思います。
> 参考まで。
ver.1.13.0にアップデートしてありますし、コンフィグキャッシュのクリア、DB マイグレーション、データインポートも済んでいます。改めて最初からインストールしなおしてやって見ようかと思います。
スレッドを立てた光琳館さんに申し訳ないので、別スレッドにした方がよろしいでしょうか。
> スレッドを立てた光琳館さんに申し訳ないので、別スレッドにした方がよろしいでしょうか。
あ、いえ、興味深く拝見させていただいております。
別スレッドにするかは、お任せいたします。
> ver.1.13.0にアップデートしてありますし、コンフィグキャッシュのクリア、DB マイグレーション、データインポートも済んでいます。改めて最初からインストールしなおしてやって見ようかと思います。
おおっ!?、ということは不具合かなぁ。
続報のんびりお待ちしてます。
> artisan command:ImportSite allの際にConnection.php line 712、Exception.php line 18、PDOStatement.php line 117で以下のようなエラーが出てましたが、関係あるでしょうか。
> SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a t
> able referenced in a foreign key constraint (`DB名`.`databases_sear
> ched_words`, CONSTRAINT `databases_searched_words_databases_id_foreign` FOR
> EIGN KEY (`databases_id`) REFERENCES `DB名`.`databases` (`id`)) (SQ
> L: truncate table `databases`)
こちらのエラーは、databases_searched_words テーブル(データベースプラグイン関連のDBテーブル)の外部キー(foreign key)制約エラーなんです。
そのため、もしかしたらデータベースプラグインのインポート時の不具合かもしれません。
参考程度で~。
XREA Freeで一旦関係ディレクトリ、ファイルを削除してからconnect-CMSをインストールしてみました。
Composerのインストールで以下のメッセージが表示されますが、そのまますすめました。
”Package laravelcollective/html is abandoned, you should avoid using it. Use spatie/laravel-html instead.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.”
インストールは特に問題なく終了しました。
> artisan command:ImportSite allの際にConnection.php line 712、Exception.php line 18、PDOStatement.php line 117で以下のようなエラーが出てましたが、関係あるでしょうか。
> SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a t
> able referenced in a foreign key constraint (`DB名`.`databases_sear
> ched_words`, CONSTRAINT `databases_searched_words_databases_id_foreign` FOR
> EIGN KEY (`databases_id`) REFERENCES `DB名`.`databases` (`id`)) (SQ
> L: truncate table `databases`)
> こちらのエラーは、databases_searched_words テーブル(データベースプラグイン関連のDBテーブル)の外部キー(foreign key)制約エラーなんです。
そのため、もしかしたらデータベースプラグインのインポート時の不具合かもしれません。
参考程度で~。
今回は上記のエラーは出ませんでしたが、ImportSite allでは以下のエラーが表示されました。
,,Reservations import start.,
page_id,block_id,category,message
,,日付エラー,created_at = created_at
In Creator.php line 190:
Could not parse 'start_time_full': DateTime::__construct(): Failed to parse
time string (start_time_full) at position 0 (s): The timezone could not be
found in the database
In Creator.php line 89:
DateTime::__construct(): Failed to parse time string (start_time_full) at p
osition 0 (s): The timezone could not be found in the database
In Creator.php line 87:
DateTime::__construct(): Failed to parse time string (start_time_full) at p
osition 0 (s): The timezone could not be found in the database
importSite uploads 、ImportSite categories、ImportSite users、ImportSite plugins databases、ImportSite plugins formsで以下のエラー。
"In MigrationTrait.php line 1244:
Undefined variable $content "
ImportSite plugins all、ImportSite plugins blogsで以下のエラー。
"In MigrationTrait.php line 2246:
Undefined variable $blog "
今回はサイト名やユーザーのパスワードも移行できていました。
メール設定(システム管理)は移行されませんでした。
画像・添付ファイルのリンク切れはシンボリックリンク&.htaccessで表示できました。
というわけで、インポート途中のエラーが気になりますが、ユーザーのパスワードが移行できたことでNC3からの移行は概ね問題なさそうです。
動作確認ありがとうございます。
1.
> 今回は上記のエラーは出ませんでしたが、ImportSite allでは以下のエラーが表示されました。
> ,,Reservations import start.,
> page_id,block_id,category,message
> ,,日付エラー,created_at = created_at
>
> In Creator.php line 190:
>
> Could not parse 'start_time_full': DateTime::__construct(): Failed to parse
> time string (start_time_full) at position 0 (s): The timezone could not be
> found in the database
・Reservations だから施設予約のインポート時、start_time_full (予約開始時間)をセットできずエラー出てるようです。
・NC3の施設予約のデータが悪いんか、Connect-CMSの移行ツールの施設予約がバグってるかのどっちかと思います。
・storage\app\migration\import\reservations\reservation_location_0001.tsv 等にインポートする施設予約のデータ(タブ区切り)があるので、そこの start_time_full 列にデータがないとインポートでコケるかとー。
2ー1.
> importSite uploads 、ImportSite categories、ImportSite users、ImportSite plugins databases、ImportSite plugins formsで以下のエラー。
> "In MigrationTrait.php line 1244:
>
> Undefined variable $content "
ブログの続きを読むテキストのリンクチェックがバグってましたので、直しました。
2ー2.
> ImportSite plugins all、ImportSite plugins blogsで以下のエラー。
> "In MigrationTrait.php line 2246:
>
> Undefined variable $blog "
再インポート時にブログのカテゴリ情報をとってこようとする箇所にバグがありました。
修正しました。
2-1、2-2ともに直しましたので、今後のバージョンアップで入ってくると思います。
https://github.com/opensource-workshop/connect-cms/pull/1890
よろしくお願いいたします。
> 1.
>・Reservations だから施設予約のインポート時、start_time_full (予約開始時間)をセットできずエラー出てるようです。
> ・NC3の施設予約のデータが悪いんか、Connect-CMSの移行ツールの施設予約がバグってるかのどっちかと思います。
>・storage\app\migration\import\reservations\reservation_location_0001.tsv 等にインポートする施設予約のデータ(タブ区切り)があるので、そこの start_time_full 列にデータがないとインポートでコケるかとー。
予約データに"start_time_full 列にデータがない"ということはありませんでしたが、4つある施設のうち2つにそもそも予約データが無かったためかもしれません。
> 予約データに"start_time_full 列にデータがない"ということはありませんでしたが、4つある施設のうち2つにそもそも予約データが無かったためかもしれません。
あらー?そこらへん移行ツールバグってそう。
週末時間があったら確認してみますー。
>> 3)画像や添付ファイルが表示されていませんでした。シンボリックリンクでサイト名/publicでアクセスできるようにしていましたが、さらに.htaccessでサイト名/でアクセスできるようにすることで表示されるようになりました。
>なるほど。
> サーバ環境がわからないのですが、シンボリックリンクを貼るとなると、さくらインターネットのような環境ですかね。
その後いろいろやってみたところAPP_URLの設定がまずかったようで、APP_URLを修正したところ.htaccessなしでいけるようになりました。