---
generated_at: 2026-03-01 21:15:00
metrics:
  claims_total: 85
  claims_with_evidence: 82
  claims_without_evidence: 3
confidence_derived: 0.96
---

# 根拠レポート：db-d1-sqlite 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：82 / 85、根拠なし：3
- 優先レビュー（高）
  1. **型定義テストケース（C-60〜C-65）**：TypeScript型のランタイムテストは実装方法要検討
  2. **再エクスポートテストケース（C-68〜C-72, C-85）**：モジュール解決の動作確認方法要検討
  3. **エラーハンドリングの網羅性**：D1固有のエラーパターンの追加検討

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `packages/db-d1-sqlite/src/index.ts` - メインアダプター関数 sqliteD1Adapter の実装（L1-246）
- E-02: `packages/db-d1-sqlite/src/connect.ts` - D1データベース接続関数の実装（L1-73）
- E-03: `packages/db-d1-sqlite/src/execute.ts` - SQL実行関数とD1→LibSQL変換の実装（L1-67）
- E-04: `packages/db-d1-sqlite/src/types.ts` - 型定義とインターフェース（L1-216）
- E-05: `packages/db-d1-sqlite/src/predefinedMigrations/blocks-as-json.ts` - 事前定義マイグレーション（L1-7）
- E-06: `packages/db-d1-sqlite/src/exports/migration-utils.ts` - マイグレーションユーティリティエクスポート（L1）
- E-07: `packages/db-d1-sqlite/src/drizzle-proxy/index.ts` - drizzle-orm再エクスポート（L1）
- E-08: `packages/db-d1-sqlite/src/drizzle-proxy/d1.ts` - drizzle-orm/d1再エクスポート（L1）
- E-09: `packages/db-d1-sqlite/src/drizzle-proxy/sqlite-core.ts` - drizzle-orm/sqlite-core再エクスポート（L1）
- E-10: `packages/db-d1-sqlite/src/drizzle-proxy/relations.ts` - drizzle-orm/relations再エクスポート（L1）
- E-11: `packages/db-d1-sqlite/src/exports/types-deprecated.ts` - 非推奨型エクスポート（L1-79）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | デフォルト設定でアダプターオブジェクト生成 | E-01 (L65-68, L216-221) | ○ |
| C-02 | idType='uuid'でpayloadIDType='text' | E-01 (L66-67) | ○ |
| C-03 | idType='number'でpayloadIDType='number' | E-01 (L66-67) | ○ |
| C-04 | allowIDOnCreate=true設定 | E-01 (L68, L218) | ○ |
| C-05 | allowIDOnCreateデフォルトfalse | E-01 (L68) | ○ |
| C-06 | adapter関数がSQLiteD1Adapter返却 | E-01 (L70-214) | ○ |
| C-07 | migrationDir設定 | E-01 (L71) | ○ |
| C-08 | localesSuffixデフォルト'_locales' | E-01 (L129) | ○ |
| C-09 | カスタムlocalesSuffix設定 | E-01 (L129) | ○ |
| C-10 | relationshipsSuffixデフォルト'_rels' | E-01 (L139) | ○ |
| C-11 | versionsSuffixデフォルト'_v' | E-01 (L151) | ○ |
| C-12 | blocksAsJSONデフォルトfalse | E-01 (L109) | ○ |
| C-13 | blocksAsJSON=true設定 | E-01 (L109) | ○ |
| C-14 | autoIncrementデフォルトfalse | E-01 (L106) | ○ |
| C-15 | readReplicasオプション設定 | E-01 (L137), E-04 (L29-38) | ○ |
| C-16 | ステートメントサニタイズ | E-01 (L90-100) | ○ |
| C-17 | バッククォートエスケープ | E-01 (L98) | ○ |
| C-18 | 空ステートメント配列処理 | E-01 (L97-99) | ○ |
| C-19 | 複数ステートメント結合 | E-01 (L99) | ○ |
| C-20 | like/not_like演算子設定 | E-01 (L81-86) | ○ |
| C-21 | features.json=true | E-01 (L115-117) | ○ |
| C-22 | limitedBoundParameters=true | E-01 (L128) | ○ |
| C-23 | packageName設定 | E-01 (L193) | ○ |
| C-24 | transactionOptions設定 | E-01 (L148) | ○ |
| C-25 | transactionOptions時beginTransaction | E-01 (L153) | ○ |
| C-26 | defaultBeginTransaction使用 | E-01 (L153) | ○ |
| C-27 | afterSchemaInitフック | E-01 (L104) | ○ |
| C-28 | beforeSchemaInitフック | E-01 (L107) | ○ |
| C-29 | blocksToJsonMigrator作成 | E-01 (L207-211) | ○ |
| C-30 | D1データベース接続 | E-02 (L9-73) | ○ |
| C-31 | hotReload=falseでスキーママージ | E-02 (L17-20) | ○ |
| C-32 | hotReload=trueでドロップスキップ | E-02 (L40-46) | ○ |
| C-33 | PAYLOAD_DROP_DATABASEでテーブルドロップ | E-02 (L41-45) | ○ |
| C-34 | readReplicas='first-primary'でwithSession | E-02 (L28-31) | ○ |
| C-35 | loggerオプション設定 | E-02 (L23, L33-36) | ○ |
| C-36 | loggerデフォルトfalse | E-02 (L23) | ○ |
| C-37 | 接続エラー時例外スロー | E-02 (L47-55) | ○ |
| C-38 | 接続エラー時rejectInitializing | E-02 (L50-52) | ○ |
| C-39 | 接続エラー時logger.error | E-02 (L49) | ○ |
| C-40 | 開発環境でpushDevSchema | E-02 (L58-64) | ○ |
| C-41 | 本番環境でpushDevSchemaスキップ | E-02 (L58-59) | ○ |
| C-42 | push=falseでpushDevSchemaスキップ | E-02 (L61) | ○ |
| C-43 | PAYLOAD_MIGRATINGでスキップ | E-02 (L60) | ○ |
| C-44 | resolveInitializing呼び出し | E-02 (L66-68) | ○ |
| C-45 | 本番環境でmigrate実行 | E-02 (L70-72) | ○ |
| C-46 | clientプロパティ設定 | E-02 (L38) | ○ |
| C-47 | rawクエリ実行 | E-03 (L60-62) | ○ |
| C-48 | sqlオブジェクト実行 | E-03 (L63-65) | ○ |
| C-49 | db優先順位 | E-03 (L41) | ○ |
| C-50 | drizzleフォールバック | E-03 (L41) | ○ |
| C-51 | D1→LibSQL変換 | E-03 (L42-58) | ○ |
| C-52 | lastInsertRowid BigInt変換 | E-03 (L49) | ○ |
| C-53 | rowsAffected設定 | E-03 (L51) | ○ |
| C-54 | results→rows設定 | E-03 (L50) | ○ |
| C-55 | 空結果処理 | E-03 (L50) | ○ |
| C-56 | last_row_id=0処理 | E-03 (L49) | ○ |
| C-57 | columns=undefined設定 | E-03 (L47) | ○ |
| C-58 | columnTypes=undefined設定 | E-03 (L48) | ○ |
| C-59 | 元D1レスポンスプロパティ保持 | E-03 (L54) | ○ |
| C-60 | Args型binding必須 | E-04 (L28-29) | △ |
| C-61 | Args型readReplicasオプショナル | E-04 (L37-38) | △ |
| C-62 | SQLiteD1Adapter drizzleプロパティ | E-04 (L107-110) | △ |
| C-63 | SQLiteD1Adapter clientプロパティ | E-04 (L109) | ○ |
| C-64 | MigrateUpArgs型定義 | E-04 (L124-154) | ○ |
| C-65 | MigrateDownArgs型定義 | E-04 (L155-185) | ○ |
| C-66 | dynamic事前定義マイグレーション | E-05 (L5-7) | ○ |
| C-67 | packageName設定(blocks-as-json) | E-05 (L6) | ○ |
| C-68 | getBlocksToJsonMigratorエクスポート | E-06 (L1) | ○ |
| C-69 | drizzle-orm再エクスポート | E-07 (L1) | ○ |
| C-70 | drizzle-orm/d1再エクスポート | E-08 (L1) | ○ |
| C-71 | drizzle-orm/sqlite-core再エクスポート | E-09 (L1) | ○ |
| C-72 | drizzle-orm/relations再エクスポート | E-10 (L1) | ○ |
| C-73 | prodMigrations設定 | E-01 (L132) | ○ |
| C-74 | schemaName設定 | E-01 (L141) | ○ |
| C-75 | generateSchemaOutputFile設定 | E-01 (L123) | ○ |
| C-76 | sqlエクスポート | E-01 (L245) | ○ |
| C-77 | 非Errorオブジェクトハンドリング | E-02 (L48) | ○ |
| C-78 | デフォルトオプション適用 | E-02 (L11-13) | ○ |
| C-79 | initializingPromise作成 | E-01 (L75-78) | ○ |
| C-80 | resolve/rejectInitializing設定 | E-01 (L72-78) | ○ |
| C-81 | foreignKeys Set初期化 | E-01 (L119) | ○ |
| C-82 | indexes Set初期化 | E-01 (L183) | ○ |
| C-83 | tableNameMap Map初期化 | E-01 (L143) | ○ |
| C-84 | fieldConstraints空オブジェクト初期化 | E-01 (L118) | ○ |
| C-85 | 非推奨型再エクスポート | E-11 (L1-79) | ○ |

## 4) 不足情報（Unknown / Missing）
- **型定義のランタイムテスト（C-60〜C-62）**: TypeScript型はコンパイル時にのみ検証されるため、ランタイムでの単体テストとしては実装が困難。型テストには `tsd` や `expect-type` などの専用ツールが必要
  - 候補：tsd / expect-type / typescript-test

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全体的にソースコードからの根拠が明確で、テストケースの妥当性は高い
- **1: 中リスク** - D1固有のエラーパターン（ネットワークエラー、クォータ制限など）のテストケースが不足している可能性あり
- **1: 中リスク** - Cloudflare Workers環境特有の制約（実行時間、メモリ等）に関するテストが含まれていない

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースID（UT-D1S-001〜085）が連番で一意であることを確認
- [ ] 優先度「高」のテストケース（接続、実行、エラーハンドリング）が網羅されているか確認
- [ ] D1固有の機能（readReplicas、withSession）のテストが十分か確認
- [ ] 境界値テスト（空配列、0値）が適切に設定されているか確認
- [ ] 型定義テストケース（C-60〜C-62）の実装方針を決定
- [ ] Cloudflare Workers環境特有のテストが必要か検討
- [ ] 非推奨型エクスポート（C-85）の後方互換性テスト方針を確認
