Bug(バグ) #2904
完了
OpenPNE2系からコンバートした環境で誕生日によるメンバー検索の結果に該当するはずのメンバーがヒットしない現象が発生する場合がある
Mutsumi Imamura さんが12年以上前に追加.
約9年前に更新.
説明
Overview (現象)¶
OpenPNE2系からコンバートした環境で誕生日によるメンバー検索の結果に該当するはずのメンバーがヒットしない現象が発生する場合がある。
月 or 日が一桁(1〜9月、1〜9日の誕生日)のメンバーが検索にヒットしなくなる。
おそらくコンバート時に日付部分で一桁のときに 0 で埋められない状態となっていたため, "09" のような検索を行おうとしていたがデータが "9" のようになっていたため検索にヒットしないと思われる。
再現バージョン¶
再現手順¶
- 2系の環境で 3月3日 というような、月日が一桁の誕生日のメンバーを作成する
- 3系にコンバートする
- 3系の環境で、3月でメンバー検索を実施する
- 手順1で作成したメンバーがヒットするはずだが、ヒットしない
Causes (原因)¶
バグが発生した原因を記入
Way to fix (修正内容)¶
修正内容を記入
- 対象バージョン を 261 から OpenPNE 3.8.x に変更
- 対象バージョン を OpenPNE 3.8.x から OpenPNE 3.6.4 に変更
原因箇所¶
overviewに記載されているとおり、V2→V3へのコンバート時に誕生日の月および日が一桁だった場合に0埋め処理が行われないままmember_profileのvalueに値がセットされてしまうため。
修正方針¶
コンバータでの修正は以下のとおりです。
- /data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php setPresetMemberProfiles()メソッド末尾に以下のSQL実行を追加します。
$this->conn->execute('UPDATE member_profile SET value = date_format(value_datetime, "%Y-%m-%d") WHERE profile_id = ?', array($birthdayId));
すでに稼働中のSNSについて、上記クエリーを実行するバッチを提供。
- ステータス を New(新規) から Accepted(着手) に変更
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
- 3.8 で発生するか を Unknown (未調査) にセット
他の形式にエクスポート: Atom
PDF