コースのカテゴリを変更したい

コースのカテゴリを変更したい

- masayuki kai の投稿
返信数: 4

コースのカテゴリを変更したいのですがコースの数が何万件とあるので、Moodleで手作業でやるのは困難と考えています。

そこでツールを作成してカテゴリを変更しようと思うのですが、どのカラムの値を変更していいかわかりません。

ご存知の方いらっしゃればご教授願いたいと思います。

ちなみにコースにはリソースや小テスト、課題がいくつか登録されています。

よろしくお願いいたします

masayuki kai への返信

Re: コースのカテゴリを変更したい

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

Moodleコースカテゴリが登録される「mdl_course_categories」MySQLテーブル内の「id」の値が、Moodleコースが登録される「mdl_course」MySQLテーブル内のフィールド「category」に設定されます。

ですから、「mdl_course」MySQLテーブル内のフィールド「category」の値を直接変更することで、そのコースが属しているカテゴリが変更されます。

ちなみに、存在しないカテゴリの値 (例 99999) をフィールド「category」に設定した場合、「サイト管理 > コース > コースの追加/編集」にアクセスした時点で正常な値「1」が設定されるようです。

念のため、Moodleにお使いのMySQLデータベースをバックアップされた後、phpMyAdmin等のツールを使って、カテゴリ変更をお試し頂いた方が宜しいかと思います。

Mitsuhiro Yoshida への返信

Re: コースのカテゴリを変更したい

- masayuki kai の投稿

Mitsuhiro Yoshida様のいうとおりにやればできました。

ありがとうございます。

コース、リソース、課題、小テストのmdl_context.pathは変更しなくても大丈夫なんでしょうか。

今のところちゃんと動いているので問題ないですが・・・

masayuki kai への返信

Re: コースのカテゴリを変更したい

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

> コース、リソース、課題、小テストのmdl_context.pathは変更しなくても大丈夫なんでしょうか。

大変申し訳ございません。
私の調査が不十分でした。
大変お手数ですが、可能でしたら、変更される前の状態に戻してください。

masayuki kai様ご指摘のように、特定のコースを別のカテゴリへ移動した場合、「mdl_context」テーブルのフィールド「path」が変更されます。数万のコースの安定運用を考えます場合、元に戻された方が宜しいかと思います。

「mdl_context」テーブルに関しましては、ご参考までに下記投稿およびバグ報告をご覧ください。

[Using Moodle: HELP WITH The MDL_CONTEXT Table]
http://moodle.org/mod/forum/discuss.php?d=66293

[Japanese: mdl_contextテーブルのpathについて]
http://moodle.org/mod/forum/discuss.php?d=147484

[[#MDL-26135] mdl_context paths get corrupted when moving course categories - Moodle Tracker]
http://tracker.moodle.org/browse/MDL-26135

[[#MDL-14290] Paths sometimes get corrupted in the mdl_context table - Moodle Tracker]
http://tracker.moodle.org/browse/MDL-14290