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は実行されていると思うので、何らかのタイミングでこのテーブルのデータが削除されてしまうのかもしれません。