feat(TRUEREF-0001): implement complete database schema and core data models

Define all SQLite tables via Drizzle ORM (repositories, repository_versions,
documents, snippets, snippet_embeddings, indexing_jobs, repository_configs,
settings), generate the initial migration, create FTS5 virtual table and
sync triggers in fts.sql, add shared TypeScript types in src/lib/types.ts,
and write 21 unit tests covering insertions, cascade deletes, FK constraints,
blob storage, JSON fields, and FTS5 trigger behaviour.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Giancarmine Salucci
2026-03-22 17:18:01 +01:00
parent 18437dfa7c
commit f57b622505
9 changed files with 1676 additions and 6 deletions

View File

@@ -4,6 +4,7 @@ if (!process.env.DATABASE_URL) throw new Error('DATABASE_URL is not set');
export default defineConfig({
schema: './src/lib/server/db/schema.ts',
out: './src/lib/server/db/migrations',
dialect: 'sqlite',
dbCredentials: { url: process.env.DATABASE_URL },
verbose: true,