aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/dev/roadmap.md
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-12-31 20:34:27 +0900
committernsfisis <nsfisis@gmail.com>2025-12-31 20:34:27 +0900
commite3a84df9fcae8f25c8ea1d527638c2bfaafb942e (patch)
tree605f909c78e8b4510b7110d57749c1c0fe566360 /docs/dev/roadmap.md
parentb69fd1353c449baa3262016c2bb8f653932bd932 (diff)
downloadkioku-e3a84df9fcae8f25c8ea1d527638c2bfaafb942e.tar.gz
kioku-e3a84df9fcae8f25c8ea1d527638c2bfaafb942e.tar.zst
kioku-e3a84df9fcae8f25c8ea1d527638c2bfaafb942e.zip
feat(db): add ORDER BY to repository SELECT queries
Ensures deterministic ordering for all multi-row SELECT queries: - deck/note/noteType findByUserId/findByDeckId: order by createdAt - card findByNoteId: order by isReversed (normal card first) - note field values: order by noteFieldTypeId - sync pull queries: order by id This guarantees consistent UI display and sync results regardless of PostgreSQL's internal row ordering. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/dev/roadmap.md')
-rw-r--r--docs/dev/roadmap.md34
1 files changed, 0 insertions, 34 deletions
diff --git a/docs/dev/roadmap.md b/docs/dev/roadmap.md
deleted file mode 100644
index 3347d0f..0000000
--- a/docs/dev/roadmap.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Kioku Development Roadmap
-
-## Add ORDER BY to SELECT Queries
-
-複数行を返すSELECTクエリにORDER BYを追加し、実行結果の順序を決定的にする。
-
-**Background:**
-- PostgreSQLはORDER BYがない場合、行の返却順序を保証しない
-- UI表示やSync結果の一貫性のため、明示的なソート順が必要
-
-### Phase 1: Core Repository Queries
-
-- [ ] `src/server/repositories/deck.ts`
- - `findByUserId()`: `.orderBy(decks.createdAt)` 追加
-- [ ] `src/server/repositories/note.ts`
- - `findByDeckId()`: `.orderBy(notes.createdAt)` 追加
- - `findByIdWithFieldValues()` 内のfieldValues取得: `.orderBy(noteFieldValues.noteFieldTypeId)` 追加
- - `update()` 内のallFieldValues取得: `.orderBy(noteFieldValues.noteFieldTypeId)` 追加
-- [ ] `src/server/repositories/noteType.ts`
- - `findByUserId()`: `.orderBy(noteTypes.createdAt)` 追加
-- [ ] `src/server/repositories/card.ts`
- - `findByDeckId()`: `.orderBy(cards.createdAt)` 追加
- - `findByNoteId()`: `.orderBy(cards.isReversed)` 追加 (通常カードを先に)
-
-### Phase 2: Sync Repository Queries
-
-- [ ] `src/server/repositories/sync.ts`
- - pull系クエリ (cards, noteFieldTypes, notes, noteFieldValues): `.orderBy(*.id)` 追加
-
-### Phase 3: Verification
-
-- [ ] `pnpm typecheck` 実行
-- [ ] `pnpm lint` 実行
-- [ ] `pnpm test` 実行