diff --git a/deno.json b/deno.json index 1463637..f57d2de 100644 --- a/deno.json +++ b/deno.json @@ -5,7 +5,7 @@ "start": "deno run --allow-read --allow-write=data --allow-env --allow-net --unstable src/server.ts", "dev": "deno run --allow-read --allow-write=data --allow-env --allow-net --unstable --watch src/server.ts", "debug": "deno run --allow-read --allow-write=data --allow-env --allow-net --unstable --inspect src/server.ts", - "test": "deno test --allow-read --allow-write=data --allow-env --unstable src", + "test": "DB_PATH=\":memory:\" deno test --allow-read --allow-write=data --allow-env --unstable src", "check": "deno check --unstable src/server.ts" }, "imports": { diff --git a/src/config.ts b/src/config.ts index 07e899d..461d986 100644 --- a/src/config.ts +++ b/src/config.ts @@ -45,6 +45,9 @@ const Conf = { get localDomain() { return Deno.env.get('LOCAL_DOMAIN') || 'http://localhost:8000'; }, + get dbPath() { + return Deno.env.get('DB_PATH') || 'data/db.sqlite3'; + }, get postCharLimit() { return Number(Deno.env.get('POST_CHAR_LIMIT') || 5000); }, diff --git a/src/db.ts b/src/db.ts index 8f682d1..d03bf2f 100644 --- a/src/db.ts +++ b/src/db.ts @@ -2,6 +2,7 @@ import fs from 'node:fs/promises'; import path from 'node:path'; import { DenoSqliteDialect, FileMigrationProvider, Kysely, Migrator, Sqlite } from '@/deps.ts'; +import { Conf } from '@/config.ts'; interface DittoDB { events: EventRow; @@ -35,7 +36,7 @@ interface UserRow { const db = new Kysely({ dialect: new DenoSqliteDialect({ - database: new Sqlite('data/db.sqlite3'), + database: new Sqlite(Conf.dbPath), }), });