1+ import { relations } from "drizzle-orm" ;
12import { integer , sqliteTable , text } from "drizzle-orm/sqlite-core" ;
23
3- // auth
44export const user = sqliteTable ( "users" , {
55 id : text ( "id" ) . primaryKey ( ) ,
66 name : text ( "name" ) . notNull ( ) ,
@@ -16,7 +16,34 @@ export const user = sqliteTable("users", {
1616 . $defaultFn ( ( ) => /* @__PURE__ */ new Date ( ) )
1717 . notNull ( ) ,
1818} ) ;
19+ export const userData = sqliteTable ( "user_data" , {
20+ id : text ( "id" ) . primaryKey ( ) ,
21+ userId : text ( "user_id" )
22+ . notNull ( )
23+ . references ( ( ) => user . id , { onDelete : "cascade" } ) ,
24+ stream : text ( "stream" ) ,
25+ grade : integer ( "grade" ) ,
26+ classNumber : integer ( "class_number" ) ,
27+ } ) ;
28+ export const userCourse = sqliteTable ( "user_courses" , {
29+ id : text ( "id" ) . primaryKey ( ) ,
30+ userId : text ( "user_id" )
31+ . notNull ( )
32+ . references ( ( ) => user . id , { onDelete : "cascade" } ) ,
33+ code : text ( "code" ) . notNull ( ) ,
34+ } ) ;
35+ export const userRelations = relations ( user , ( { one } ) => ( {
36+ courses : one ( userCourse , {
37+ fields : [ user . id ] ,
38+ references : [ userCourse . userId ] ,
39+ } ) ,
40+ data : one ( userData , {
41+ fields : [ user . id ] ,
42+ references : [ userData . userId ] ,
43+ } ) ,
44+ } ) ) ;
1945
46+ // auth-related tables
2047export const session = sqliteTable ( "sessions" , {
2148 id : text ( "id" ) . primaryKey ( ) ,
2249 expiresAt : integer ( "expires_at" , { mode : "timestamp" } ) . notNull ( ) ,
0 commit comments