操作
Bug(バグ) #2904
完了OpenPNE2系からコンバートした環境で誕生日によるメンバー検索の結果に該当するはずのメンバーがヒットしない現象が発生する場合がある
開始日:
2012-03-26
期日:
進捗率:
100%
予定工数:
3.6 で発生するか:
Yes (はい)
3.8 で発生するか:
Unknown (未調査)
説明
Overview (現象)¶
OpenPNE2系からコンバートした環境で誕生日によるメンバー検索の結果に該当するはずのメンバーがヒットしない現象が発生する場合がある。
月 or 日が一桁(1〜9月、1〜9日の誕生日)のメンバーが検索にヒットしなくなる。
おそらくコンバート時に日付部分で一桁のときに 0 で埋められない状態となっていたため, "09" のような検索を行おうとしていたがデータが "9" のようになっていたため検索にヒットしないと思われる。
再現バージョン¶
- OpenPNE3.6.2
再現手順¶
- 2系の環境で 3月3日 というような、月日が一桁の誕生日のメンバーを作成する
- 3系にコンバートする
- 3系の環境で、3月でメンバー検索を実施する
- 手順1で作成したメンバーがヒットするはずだが、ヒットしない
Causes (原因)¶
バグが発生した原因を記入
Way to fix (修正内容)¶
修正内容を記入
Hidenori Goto さんが12年以上前に更新
原因箇所¶
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));
- 懸案事項:MySQLの日付関数の使用。
すでに稼働中のSNSについて、上記クエリーを実行するバッチを提供。
Hidenori Goto さんが12年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
コンバーターの修正のみPull Requestしてあります。
https://github.com/openpne/OpenPNE3/pull/48
Yuya Watanabe さんが12年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Yuya Watanabe さんが12年以上前に更新
下記コミットを stable-3.6.x ブランチにマージしました.
Yuma Sakata さんが12年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
テストOKです。
操作