Opened 15 years ago
Closed 15 years ago
#1481 closed defect (duplicate)
PostgreSQL環境でプロフィール編集ができない
Reported by: | kiwa | Owned by: | ebihara |
---|---|---|---|
Priority: | critical | Milestone: | |
Component: | pne-postgresql | Version: | 2.10.x & 2.11.x |
Keywords: | Cc: |
Description
http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=13746 より転記
初期ユーザーのプロフィールのうち、c_memberに登録するデータが反映されない。 結局4時間ソースをおっかけつつ、途中に変数や配列の中身をファイルに吐き出すコードを埋め込み・・・。 結局、OpenPNEのバグ(というよりは、セットアップ用のSQLのバグ)だということが判明した。 PostgreSQLのバージョンとか環境依存の問題かと泣きそうになっていたw まぁともかく、ここに招待して欲しいってメールだしたときに、PHPでプログラミングしてるから多少のバグ発見はできるかもしれませんって言ったのが嘘にならなくてよかった(ということにしておこうw) で、バグの原因。 これは、UPDATE文がおかしいせいで、クエリが失敗するということ。 ファイルに吐き出させたUPDATE文が以下の通り。 QUERY:UPDATE c_member SET nickname = 'kalze',birth_year = 1978,birth_month = 5,birth_day = 19,public_flag_birth_year = 'private',u_datetime = '2007-11-01 04:02:05' WHERE c_member_id = 1 ここで注目なのは、更新しようとするカラムだ。 u_datetime というカラムがある。 これはたぶん、プロフィールを更新した日時だとおもう。 セットアップ用のSQLファイルも確認したのだけど、このカラムはテーブル定義にない。 MySQL4.1用のセットアップ用SQLファイルを確認すると存在する。 ということは、PostgreSQLのセットアップSQLファイルのバグだということだ。 カラムの定義しわすれということですな。 これって、PostgreSQL使ってるとプロフィールが更新できないってことだから、PostgreSQLユーザーにとっては運用でカバーできはするけど、ある意味致命的ともいえるバグではなかろうか? 実際に、 alter table c_member add u_datetime timestamp; alter table c_member alter u_datetime set default '0000-01-01 00:00:00'; を実行した後に、プロフィールを編集すると、見事に更新された。 (NOT NULL属性はPostgreSQLでは後から付けられないので、仕様と必ずしも一致するわけではないが、default値を設定しておけば、NULLにはならないし(NULLに更新するなら話は別だが))
Change History (8)
comment:1 Changed 15 years ago by
Priority: | minor → critical |
---|
comment:2 Changed 15 years ago by
Owner: | changed from nobody to ogawa |
---|
comment:3 Changed 15 years ago by
報告者です。 PostgeSQL版対応者のkimura@NSTさんと話したところ、自分のセットアップ漏れだったようです。 installフォルダにある2.8用のcreate.sql、insert.sqlを実行した後に、updateフォルダ内の2.10対応用sqlを実行しなければならなかったのに、していなかったことが原因でした。
ですのでマニュアルの不備ではありましたが、バグとは言い切れないものかと思います。
kimura@NSTさんからご教示いただいた、 2.10用セットアップSQL http://trac.openpne.jp/changeset/4534 2.10用セットアップガイド http://trac.openpne.jp/changeset/4535 ではそのだけで問題ありませんでしたので、早めにそちらに差し替えたほうが、PostgreSQL版を使う人は新規の方が多いと思うので混乱しなくて済むと思います。
comment:4 Changed 15 years ago by
Component: | pne-framework → pne-postgresql |
---|
comment:5 Changed 15 years ago by
Owner: | changed from ogawa to ebihara |
---|
comment:6 Changed 15 years ago by
Keywords: | 再現待ち removed |
---|---|
Resolution: | → fixed |
Status: | new → closed |
#1522 開発版から2.10PostgreSQL用のセットアップSQL、ガイドをマージする
以上のチケットで対応することにします。2.10.1で取り込まれる予定です。
ご報告ありがとうございました。
comment:7 Changed 15 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:8 Changed 15 years ago by
Resolution: | → duplicate |
---|---|
Status: | reopened → closed |
Note: See
TracTickets for help on using
tickets.
再現チームでは難しいため判断をお願いします。