receipt_indexer/backend/internal/db/temp.txt
Ethan Wellenreiter 7456c40459 Intro implementation of Groups SQL repository interface
Signed-off-by: Ethan Wellenreiter <ewellenreiter@gmail.com>
2025-05-06 18:09:37 -04:00

76 lines
1.3 KiB
Plaintext

// Use DBML to define your database structure
// Docs: https://dbml.dbdiagram.io/docs
Table users {
id integer [primary key]
username varchar unique
email varchar unique
password varchar
created_at timestamp
is_active bool
role integer
personalgroup integer
}
Table groups {
id integer [primary key]
name varchar
owner integer
}
Table groupMembership {
membershipid integer [primary key]
groupid integer
userid integer
moderator bool
}
Table roles {
id integer [primary key]
name varchar
description varchar
level integer
}
Table reciepts {
id integer [primary key]
groupid integer
data nvarchar
created_at timestamp
updated_at timestamp
}
// Table imageOwnership {
// ownershipid integer [primary key]
// receiptid integer
// imageid integer
// }
Table images {
id integer [primary key]
receiptid integer
created_at timestamp
path varchar
added bool
}
Ref: "users"."personalgroup" > "groups"."id"
Ref: "groups"."owner" > "users"."id"
Ref: "groups"."id" < "groupMembership"."groupid"
Ref: "groupMembership"."userid" < "users"."id"
Ref: "roles"."id" < "users"."role"
// Ref: "reciepts"."id" < "imageOwnership"."receiptid"
// Ref: "images"."id" < "imageOwnership"."imageid"
Ref: "reciepts"."id" < "images"."receiptid"
Ref: "groups"."id" < "reciepts"."groupownerid"