操作
Bug(バグ) #1528
完了A community category is sorted not in order of column sort_order of table community_category but in order of ID. (コミュニティカテゴリがテーブルcommunity_categoryのカラムsort_orderではなく、ID順にソートされる)
開始日:
2010-08-25
期日:
進捗率:
100%
予定工数:
3.6 で発生するか:
Yes
3.8 で発生するか:
Unknown (未調査)
説明
Overview (現象)¶
2系から3系へアップデートのアップデート時に以下の操作を行うと、コミュニティカテゴリがテーブルcommunity_categoryのカラムsort_orderではなく、ID順にソートされる
前提 ・2.12のときに、コミュニティカテゴリのIDとsort_orderの並びが違う状態 (後から追加し、カテゴリ的には既存のものより上にしたいため) 結果 ・そのデータをupgrade する ・OpenPNE3で参照しているテーブルcommunity_categoryのカラムsort_order ではなく、ID順にソートされてプルダウンメニューに表示される
再現バージョン¶
- OpenPNE2.12 → 3.4.6
Causes (原因)¶
community_category テーブルからレコードを取得する際のSQLで、sort_order カラムを order by に指定していない。
Way to fix (修正内容)¶
community_category を取得する際、随所で以下のようなコードとなっている。
Doctrine::getTable('CommunityCategory')->createQuery()->where('lft > 1');
where句の指定はすべて共通であるため、CommunityCategoryTable に getAllChildrenQuery() を追加して共通化し、
このメソッド内で「order by sort_order」を付加するように修正する。
報告元¶
http://sns.openpne.jp/diary/24997 から転載
2.12から3.4.6へアップデートした環境で、 前提 ・2.12のときに、コミュニティカテゴリのIDとsort_orderの並びが違う状態 (後から追加し、カテゴリ的には既存のものより上にしたいため) 結果 ・そのデータをupgrade する ・OpenPNE3で参照しているテーブルcommunity_categoryのカラムsort_order ではなく、ID順にソートされてプルダウンメニューに表示される
Masato Nagasawa さんが14年以上前に更新
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Masato Nagasawa にセット
Masato Nagasawa さんが14年以上前に更新
- 対象バージョン を OpenPNE 3.7.0 にセット
現状カテゴリのソートカラムにはnullが入っているため、
nullのカテゴリについては1より順番が上になります。
コミュニティカテゴリのソート順自体変更する機構が存在していないため、
これについては別チケットで対応する必要があると思います。
Masato Nagasawa さんが14年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 b103b3be36a207cdbcffd010b114893ddbc54ca8 で適用されました。
Masato Nagasawa さんが14年以上前に更新
- 題名 を コミュニティカテゴリがテーブルcommunity_categoryのカラムsort_orderではなく、ID順にソートされる から A community category is sorted not in order of column sort_order of table community_category but in order of ID. (コミュニティカテゴリがテーブルcommunity_categoryのカラムsort_orderではなく、ID順にソートされる) に変更
Shogo Kawahara さんが14年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
- CommunityCategoryTable に対する UnitTestが更新されていません。
Masato Nagasawa さんが14年以上前に更新
- ステータス を Rejected(差し戻し) から Pending Review(レビュー待ち) に変更
更新履歴 9020cea8df63fb6ceccce35bb1777cec1bcc4455 で適用されました。
Shogo Kawahara さんが約14年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Fumie Toyooka さんが約13年前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
テスト無事終了しました。
操作