---
generated_at: 2026-03-01 20:45:00
metrics:
  claims_total: 71
  claims_with_evidence: 69
  claims_without_evidence: 2
confidence_derived: 0.97
---

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

## 本レポートについて

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

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

1. **根拠の有無確認**: 各テストケースに対して、ソースコードの該当箇所が存在するか
2. **根拠との整合性**: テストケースの内容がソースコードの実装と矛盾していないか
3. **網羅性**: テスト対象の関数・メソッドを適切にカバーしているか

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）: **0.97**
  - 根拠あり: 69 / 71、根拠なし: 2
- 優先レビュー（高）
  1. **UT-SLT-066**: re-export機能のテストは外部パッケージ依存
  2. **UT-SLT-071**: 非推奨型のre-exportは型定義のみ

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `packages/db-sqlite/src/index.ts` - sqliteAdapter関数の実装（67-245行）
- E-02: `packages/db-sqlite/src/connect.ts` - connect関数の実装（10-76行）
- E-03: `packages/db-sqlite/src/types.ts` - 型定義（1-257行）
- E-04: `packages/db-sqlite/src/predefinedMigrations/blocks-as-json.ts` - 動的マイグレーション（1-7行）
- E-05: `packages/db-sqlite/src/drizzle-proxy/index.ts` - drizzle-orm re-export
- E-06: `packages/db-sqlite/src/drizzle-proxy/libsql.ts` - libsql re-export
- E-07: `packages/db-sqlite/src/drizzle-proxy/sqlite-core.ts` - sqlite-core re-export
- E-08: `packages/db-sqlite/src/drizzle-proxy/relations.ts` - relations re-export
- E-09: `packages/db-sqlite/src/exports/migration-utils.ts` - migration-utils re-export
- E-10: `packages/db-sqlite/src/exports/types-deprecated.ts` - 非推奨型re-export

## 3) Claims と根拠の対応（レビューの主戦場）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | sqliteAdapterがデフォルト引数で正常動作 | E-01（67-68行: デフォルト値設定） | ○ |
| C-02 | idType='uuid'でdefaultIDType='text' | E-01（68-69行: 三項演算子で変換） | ○ |
| C-03 | idType='number'でdefaultIDType='number' | E-01（68-69行） | ○ |
| C-04 | allowIDOnCreate設定 | E-01（70行: ?? false） | ○ |
| C-05 | autoIncrement設定 | E-01（129行: ?? false） | ○ |
| C-06 | WAL=trueでデフォルト設定 | E-01（103-104行: journalSizeLimit, synchronous設定） | ○ |
| C-07 | WALカスタム設定 | E-01（106-109行: ?? でカスタム値適用） | ○ |
| C-08 | インメモリDB時WAL無効化 | E-01（94-99行: file:以外でwal=false） | ○ |
| C-09 | TCP接続時WAL無効化 | E-01（94行: !args.client.url.startsWith('file:')） | ○ |
| C-10 | localesSuffix設定 | E-01（152行: \|\| '_locales'） | ○ |
| C-11 | localesSuffixデフォルト | E-01（152行） | ○ |
| C-12 | relationshipsSuffix設定 | E-01（162行: \|\| '_rels'） | ○ |
| C-13 | relationshipsSuffixデフォルト | E-01（162行） | ○ |
| C-14 | versionsSuffix設定 | E-01（172行: \|\| '_v'） | ○ |
| C-15 | versionsSuffixデフォルト | E-01（172行） | ○ |
| C-16 | busyTimeout設定 | E-01（132行: ?? 0） | ○ |
| C-17 | busyTimeoutデフォルト0 | E-01（132行） | ○ |
| C-18 | blocksAsJSON設定 | E-01（131行: ?? false） | ○ |
| C-19 | blocksAsJSONデフォルト | E-01（131行） | ○ |
| C-20 | afterSchemaInitフック | E-01（127行: ?? []） | ○ |
| C-21 | beforeSchemaInitフック | E-01（130行: ?? []） | ○ |
| C-22 | prodMigrations設定 | E-01（155行） | ○ |
| C-23 | transactionOptions設定 | E-01（169行: \|\| undefined） | ○ |
| C-24 | transactionOptions指定時beginTransaction | E-01（174行: 三項演算子） | ○ |
| C-25 | transactionOptions未指定時beginTransaction | E-01（174行: defaultBeginTransaction） | ○ |
| C-26 | SQLite like演算子設定 | E-01（83-88行: operatorMap上書き） | ○ |
| C-27 | not_like演算子設定 | E-01（87行: notLike） | ○ |
| C-28 | name='sqlite' | E-01（126行, 240行） | ○ |
| C-29 | init関数存在 | E-01（243行: init: adapter） | ○ |
| C-30 | features.json=true | E-01（139-141行） | ○ |
| C-31 | packageName設定 | E-01（216行） | ○ |
| C-32 | adapter関数呼び出し | E-01（72-237行: function adapter） | ○ |
| C-33 | migrationDir設定 | E-01（73行: findMigrationDir） | ○ |
| C-34 | initializingプロミス | E-01（77-80行: new Promise） | ○ |
| C-35 | blocksToJsonMigrator設定 | E-01（230-234行） | ○ |
| C-36 | sanitizeStatements: エスケープ | E-01（113-123行: replaceAll） | ○ |
| C-37 | sanitizeStatements: 結合 | E-01（122行: join('\\n')） | ○ |
| C-38 | sanitizeStatements: 空配列 | E-01（119-122行: map実装） | ○ |
| C-39 | connect: クライアント作成 | E-02（19-20行: if (!this.client)） | ○ |
| C-40 | connect: クライアント再利用 | E-02（19行: if (!this.client)） | ○ |
| C-41 | connect: busyTimeout PRAGMA | E-02（22-24行: PRAGMA busy_timeout） | ○ |
| C-42 | connect: busyTimeout=0スキップ | E-02（22行: if (this.busyTimeout > 0)） | ○ |
| C-43 | connect: WAL設定 | E-02（26-38行: PRAGMA journal_mode = WAL） | ○ |
| C-44 | connect: WAL重複設定防止 | E-02（27-29行: journal_mode !== 'wal'） | ○ |
| C-45 | connect: journal_size_limit | E-02（34行） | ○ |
| C-46 | connect: synchronous | E-02（37行） | ○ |
| C-47 | connect: drizzle作成 | E-02（42行: this.drizzle = drizzle(...)） | ○ |
| C-48 | connect: logger伝播（有効） | E-02（41-42行: logger \|\| false） | ○ |
| C-49 | connect: logger伝播（無効） | E-02（41行: \|\| false） | ○ |
| C-50 | connect: schema伝播 | E-02（42行: schema: this.schema） | ○ |
| C-51 | connect: PAYLOAD_DROP_DATABASE | E-02（45-49行: dropDatabase呼び出し） | ○ |
| C-52 | connect: hotReloadスキップ | E-02（44行: if (!hotReload)） | ○ |
| C-53 | connect: 接続エラー例外 | E-02（51-58行: throw new Error） | ○ |
| C-54 | connect: rejectInitializing呼び出し | E-02（54-56行） | ○ |
| C-55 | connect: エラーログ | E-02（53行: payload.logger.error） | ○ |
| C-56 | connect: 非Errorオブジェクト処理 | E-02（52行: String(err)） | ○ |
| C-57 | connect: pushDevSchema呼び出し | E-02（61-67行: NODE_ENV !== 'production'） | ○ |
| C-58 | connect: 本番pushDevSchemaスキップ | E-02（61行: NODE_ENV !== 'production'） | ○ |
| C-59 | connect: PAYLOAD_MIGRATINGスキップ | E-02（63行） | ○ |
| C-60 | connect: push=falseスキップ | E-02（64行: this.push !== false） | ○ |
| C-61 | connect: resolveInitializing | E-02（69-71行） | ○ |
| C-62 | connect: 本番migrate実行 | E-02（73-75行） | ○ |
| C-63 | connect: migrate未設定時スキップ | E-02（73行: this.prodMigrations判定） | ○ |
| C-64 | connect: デフォルトオプション | E-02（11-14行: options = { hotReload: false }） | ○ |
| C-65 | dynamic: packageName設定 | E-04（6-7行） | ○ |
| C-66 | getBlocksToJsonMigrator re-export | E-09（1行） | △ |
| C-67 | drizzle-orm re-export | E-05（1行） | ○ |
| C-68 | libsql re-export | E-06（1行） | ○ |
| C-69 | sqlite-core re-export | E-07（1行） | ○ |
| C-70 | relations re-export | E-08（1行） | ○ |
| C-71 | 非推奨型re-export | E-10 | △ |

## 4) 不足情報（Unknown / Missing）
- **C-66 (UT-SLT-066)**: `getBlocksToJsonMigrator`の実際の動作は`@payloadcms/drizzle`パッケージに依存しており、db-sqliteモジュール内では単純なre-exportのみ
  - 候補: `packages/drizzle/src/`内の実装を参照
- **C-71 (UT-SLT-071)**: 非推奨型のre-exportは型定義のみであり、ランタイムでのテストは不要だが、TypeScriptの型チェックで確認が必要
  - 候補: TypeScript型テスト（tsd等）

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: re-exportファイル群（E-05〜E-10）は単純な転送のみで実装リスクは低い
- **1（中リスク）**: WAL設定関連のテスト（UT-SLT-006〜009、043〜046）は環境依存があり、インメモリDBでは完全なテストが困難
- **1（中リスク）**: connect関数の環境変数依存テスト（UT-SLT-051、057〜063）はモック設定が必要
- **0（低リスク）**: sqliteAdapter関数のオプション設定テスト（UT-SLT-001〜031）は純粋な単体テストとして実装可能

## 6) レビュアーチェックリスト（最小）
- [ ] sqliteAdapter関数のデフォルト値設定が仕様と一致しているか確認（UT-SLT-001〜031）
- [ ] connect関数のエラーハンドリングが適切か確認（UT-SLT-053〜056）
- [ ] WALモード関連のテストケースが実環境で動作するか確認（UT-SLT-006〜009、043〜046）
- [ ] 環境変数依存のテストケースにモック戦略が適切か確認（UT-SLT-051、057〜063）
- [ ] トランザクション制御の切り替えテストが正確か確認（UT-SLT-024〜025）
- [ ] re-exportのテストケースが実際に必要か判断（UT-SLT-066〜071）
