aboutsummaryrefslogtreecommitdiff
path: root/src/lib/server/db/schema.ts
blob: fae002dd84f245d9e9e625ddd5e8beca1abf837d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

import { sqliteTable, text, integer, real } 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, {
		onDelete: 'set null',
	}),
});

export const references = sqliteTable('references', {
	id: integer('id').primaryKey({ autoIncrement: true }),
	groceryId: integer('grocery_id')
		.notNull()
		.references(() => groceries.id, { onDelete: 'cascade' }),
	reference: text('reference').notNull(),
	price: real('price'),
	unit: text('unit'),
	qualityScore: integer('quality_score'),
});