aboutsummaryrefslogtreecommitdiff
path: root/src/lib/server/db/schema.ts
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2026-07-27 18:31:26 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2026-07-27 18:31:26 +0200
commite14717b2e7853705469275d64023bb902b195ebb (patch)
tree2e450f7b4e864e232d06df43ad1aba1b62be4f4c /src/lib/server/db/schema.ts
parent8224c7d6572db6ec76c4224eec1df8a538b47ad4 (diff)
feat: separate categories table + /categories management page
- Categories table (id, name unique) with FK from groceries.category_id - /categories page for add/delete categories - Main page uses native <select> dropdown for category - Categories grouped by name in list/catalog views - Regenerated drizzle migrations from scratch
Diffstat (limited to 'src/lib/server/db/schema.ts')
-rw-r--r--src/lib/server/db/schema.ts6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/server/db/schema.ts b/src/lib/server/db/schema.ts
index 403ef51..1d5fd9e 100644
--- a/src/lib/server/db/schema.ts
+++ b/src/lib/server/db/schema.ts
@@ -1,8 +1,14 @@
import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core';
+export const categories = sqliteTable('categories', {
+ id: integer('id').primaryKey({ autoIncrement: true }),
+ name: text('name').notNull().unique(),
+});
+
export const groceries = sqliteTable('groceries', {
id: integer('id').primaryKey({ autoIncrement: true }),
name: text('name').notNull().unique(),
checked: integer('checked', { mode: 'boolean' }).notNull().default(false),
createdAt: text('created_at').notNull(),
+ categoryId: integer('category_id').references(() => categories.id),
});