Joomla!を使うようになって、初めてバグらしいバグに遭いました。

Ver.3.xから記事の版管理ができるようになったんですが、記事管理のオプションで「バージョン管理を有効にする」を選んだ後に記事を保存すると、以下のSQLでエラーになります。


SELECT * FROM `xxxxx_ucm_history` WHERE `ucm_item_id` = 302 AND `ucm_type_id` = AND `sha1_hash` = '(略)' 

どうやら#__content_typesテーブルにレコードがありません。

Joomla!のインストーラーのZIPファイルを解凍し、

\installation\sql\mysql\joomla.sqlを開いて、

INSERT INTO `#__content_types` (  略 ); の行の「#_の部分を自身のテーブルの接頭語に変えて実行してやって解決しました。

このサイトは、mnp_upgrade(有償版)でJoomla! 2.5からバージョンアップしたんですが、そのウィザード内でcontent_typesテーブルは作成されたようです。

インストーラーのSQLは実行されていると思うので、何らかのタイミングでこのテーブルのデータが削除されてしまうのかもしれません。