バージョン 1.9 から 2.2 への Moodle サイトのアップグレードをテスト中です。テスト ボックスで、Moodle 1.9 サイトのコピーを作成しました。サイトをテスト フレームワークで動作させるには、ハードコードされた URL をテスト マシンで有効なものに更新する必要があります。そうするために、私は Moodle 1.9 内の admin/replace 機能を使用します。
http://mytestsite/admin/replace.php
結果のフォームで、切り替える URL を指定します。ドキュメントによると、ここのスクリプトは、Moodle インストールのすべてのテーブルを通過し、次のようなスクリプトを実行します。
UPDATE adodb_logsql
SET PARAMS = REPLACE(PARAMS, 'some_url', 'another_url')
更新プロセスは正常に機能しているようです。ただし、次の意図しない副作用があります。
データベースに保存されているサイトのコンテンツの一部は、REPLACE プロセス中に破損したように見えます。
Before: Welcome to Company’s Learning
After : Welcome to Company’s Learning
MySQL によると、REPLACE ステートメントはマルチバイトセーフです。
私の質問:
- 私は何を間違っていますか?シンプル
REPLACE
には、これらの奇妙な副作用があってはなりません。 - ダメージを回復する簡単な方法はありますか?
テスト サーバー: * IIS 7 * PHP 5.3.13 * MySQL サーバー 5.5