Nucleus 3.31 SP1 出ました。
2008年2月6日
MySQL版、SQLite版共に、日本語バージョンの 3.31 SP1 が出ました。今回のバージョンは、XSS脆弱性の修正が入っていますので、必ずアップグレードを行うようにしてください。
以下、SQLite版のアップグレード時の注意点です。
今回のアップグレードでは nucleus_item という大きなテーブルの構造変換がなされます。これは、SQLite版では比較的負担のかかる操作なので、アップグレードスクリプトを実行する前に、以下に述べるように、できるだけ負担を軽減する措置を施しておくことをお勧めします。フォーラムとWikiに詳しく書きましたので、ここでは簡単に説明しておきます。
まずDBをバックアップした後、『VACUUM』を実行してください。SQLiteのバージョンが2.8の場合は、続けて『PRAGMA default_synchronous = OFF;』を実行してからアップグレードスクリプトを実行してください。最後に『PRAGMA default_synchronous = NORMAL;』もしくは『PRAGMA default_synchronous = FULL;』を実行して、元の状態に戻します。
これで、nucleus_itemテーブルが少々大きくても(アイテムの数が多くても)、問題なくアップグレードできると思います。
今回のバージョンでは、SQLite ラッパーのバージョンが0.9.0になっています。ALTER TABLE周りのコードを一から書き直し、ほとんどエラーが出ないようにしました。これによって、対応できるプラグインの種類がずいぶん増えていると思います。
以下、SQLite版のアップグレード時の注意点です。
今回のアップグレードでは nucleus_item という大きなテーブルの構造変換がなされます。これは、SQLite版では比較的負担のかかる操作なので、アップグレードスクリプトを実行する前に、以下に述べるように、できるだけ負担を軽減する措置を施しておくことをお勧めします。フォーラムとWikiに詳しく書きましたので、ここでは簡単に説明しておきます。
まずDBをバックアップした後、『VACUUM』を実行してください。SQLiteのバージョンが2.8の場合は、続けて『PRAGMA default_synchronous = OFF;』を実行してからアップグレードスクリプトを実行してください。最後に『PRAGMA default_synchronous = NORMAL;』もしくは『PRAGMA default_synchronous = FULL;』を実行して、元の状態に戻します。
これで、nucleus_itemテーブルが少々大きくても(アイテムの数が多くても)、問題なくアップグレードできると思います。
今回のバージョンでは、SQLite ラッパーのバージョンが0.9.0になっています。ALTER TABLE周りのコードを一から書き直し、ほとんどエラーが出ないようにしました。これによって、対応できるプラグインの種類がずいぶん増えていると思います。