-オープンソースのSNSエンジン OpenPNEプロジェクト-

2.12→2.14のアップグレードSQLがエラーで中断される問題

07 / 24 金曜日 2009

OpenPNE 開発チームのきわです。

OpenPNE2.12→2.14 のアップグレードSQL がMySQL4.0 環境で実行するとエラーが発生し、最後まで実行できないという報告を戴きました。
OpenPNE2.14.1 にて対応を含め、リリースを行いますが、リリースまで少し時間が空くので、この場で修正方法を報告しておきます。

公式SNS にて報告してくれた教授さん、ありがとうございます。

修正方法

修正が必要なのは以下のファイルです。

  • ・setup/sql/mysql40/upgrade/upgrade-2.12to2.14.sql

32行目の 「 is_sns_entry_confirm` 」 にある 「 ` 」 を削除してください。

修正前

31 — update09
32 ALTER TABLE c_member_pre ADD COLUMN is_sns_entry_confirm` tinyint(1) NOT NULL default ‘0’;
33

修正後

31 — update09
32 ALTER TABLE c_member_pre ADD COLUMN is_sns_entry_confirm tinyint(1) NOT NULL default ‘0’;
33

また setup/sql/mysql40/update/update09-for2.13.8-alter-c_member_pre-add-column-is_sns_entry_confirm.sql にも同様のSQL文があるので、MySQL4.0 でOpenPNE2.13.8 以前の OpenPNE2.13 開発版をご利用の方は、update sql の修正をお願いします。

DBバックアップを取らずにupgrade sql を実行し、この問題が発生した場合

DBバックアップを取らずにupgrade sql を実行し、この問題が発生した場合、アップグレードを完了させるにはupdate sql を順番に実行していく必要があります。

手順

  • 1. setup/sql/mysql40/update/update09-for2.13.8-alter-c_member_pre-add-column-is_sns_entry_confirm.sql を修正内容に沿って修正します
  • 2. setup/sql/mysql40/update/ 内の update09~update17 を順番に実行していきます。実行方法はupgrade sqlと同じ要領です。

update 17 までのsql を実行すれば、アップグレードは完了です。

コメント:1

OpenPNEユーザー 09-07-27 (月) 18:20

1行目から、下記エラーでアップグレードできませんでした。

#1060 – Duplicate column name ‘u_datetime’

その他にもエラーがでるSQLがありましたので、それを飛ばして実行し、ファイルも入れ替えると、管理画面上は、2.14と表示されています。

これでアップグレード出来ているのでしょうか?

ページの先頭に戻る