Add SQLite store and embedded migration runner
CI / ci (pull_request) Successful in 56s
CI / ci (push) Successful in 49s
Independent review Not signed off — 0 high, 1 medium (#10)

internal/store opens $MEALQUEST_DATA_DIR/mealquest.db with modernc.org/sqlite
(CGO-free) as one writer connection and a read-only pool of four, with
busy_timeout=5000, journal_mode=WAL and foreign_keys=ON on every connection.

migrations/*.sql are embedded and applied at boot in filename order, each
in its own transaction together with its schema_migrations row, so a failing
migration rolls back and fails boot. A database holding a version this build
does not know is refused. 0001_init.sql is a placeholder until the v1 schema
lands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-03 00:47:33 -04:00
co-authored by Claude Opus 5.5
parent 65b27a7689
commit c777668ef5
9 changed files with 573 additions and 2 deletions
+2
View File
@@ -0,0 +1,2 @@
-- 0001_init: placeholder so the migrations embed compiles.
-- Replaced by the full v1 schema in Feature 02 task 3.