18 lines
890 B
Markdown
18 lines
890 B
Markdown
# Change: Refactor SQLite Access with Drizzle ORM
|
|
|
|
## Why
|
|
|
|
Current `better-sqlite3` usage relies heavily on `any/as`, lacks unified typing and runtime validation, and increases long-term maintenance cost. Introducing Drizzle ORM provides structured schema definitions and more consistent type constraints.
|
|
|
|
## What Changes
|
|
|
|
- Introduce Drizzle ORM and define schema for the internal database.
|
|
- Incrementally migrate read/write paths in `cloudHandler` and `database/handler`.
|
|
- Preserve existing WAL, `busy_timeout`, and transaction behavior to avoid regressions.
|
|
- Keep runtime validation and compatibility logic for the external IDE DB (`ItemTable`).
|
|
|
|
## Impact
|
|
|
|
- Affected code: `src/ipc/database/cloudHandler.ts`, `src/ipc/database/handler.ts`, tests, and DB utility layer
|
|
- Affected behavior: data-access typing and runtime validation approach changes (regression validation required)
|