99// The functions for columns expect a Drizzle column builder function
1010// (e.g., sqliteText, pgText, sqliteInteger, pgInteger) as their argument.
1111
12- export const usersTableColumns = {
13- // Parameter 'columnBuilder' is expected to be a function like `text` or `integer`
14- // from the appropriate Drizzle dialect module (e.g., drizzle-orm/sqlite-core or drizzle-orm/pg-core)
15- id : ( columnBuilder : any ) => columnBuilder ( 'id' ) . primaryKey ( ) ,
16- email : ( columnBuilder : any ) => columnBuilder ( 'email' ) . notNull ( ) . unique ( ) ,
17- name : ( columnBuilder : any ) => columnBuilder ( 'name' ) ,
18- // Use $defaultFn for SQLite timestamp generation
19- createdAt : ( columnBuilder : any ) => columnBuilder ( 'created_at' , { mode : 'timestamp' } ) . notNull ( ) . $defaultFn ( ( ) => new Date ( ) ) ,
20- updatedAt : ( columnBuilder : any ) => columnBuilder ( 'updated_at' , { mode : 'timestamp' } ) . notNull ( ) . $defaultFn ( ( ) => new Date ( ) ) ,
21- } ;
22-
2312// Enum for authentication types
2413// This will be translated to pgEnum or similar in db/index.ts
2514export const authTypeEnumValues = [ 'email_signup' , 'github' ] as const ;
@@ -104,7 +93,6 @@ export const globalSettingsTableColumns = {
10493
10594// This object will hold definitions for all base tables.
10695export const baseTableDefinitions = {
107- users : usersTableColumns , // Keeping existing users table for now, can be deprecated/merged later
10896 roles : rolesTableColumns ,
10997 authUser : authUserTableColumns ,
11098 authSession : authSessionTableColumns ,
@@ -113,7 +101,6 @@ export const baseTableDefinitions = {
113101 teamMemberships : teamMembershipsTableColumns ,
114102 globalSettingGroups : globalSettingGroupsTableColumns ,
115103 globalSettings : globalSettingsTableColumns ,
116- // e.g., posts: postsTableColumns,
117104} ;
118105
119106// This object will hold definitions for plugin tables, to be populated dynamically.
@@ -127,19 +114,5 @@ export const pluginTableDefinitions: Record<string, Record<string, (columnBuilde
127114// in `services/backend/src/db/index.ts`. This file, `schema.ts`, now only
128115// provides the definitions (column names, types, constraints via chained methods).
129116//
130- // Example of how it will be used in db/index.ts:
131- //
132- // import { baseTableDefinitions } from './schema';
133- // import { sqliteTable, text as sqliteTextColumnBuilder, integer as sqliteIntegerColumnBuilder } from 'drizzle-orm/sqlite-core';
134- //
135- // const users = sqliteTable('users', {
136- // id: baseTableDefinitions.users.id(sqliteTextColumnBuilder),
137- // email: baseTableDefinitions.users.email(sqliteTextColumnBuilder),
138- // name: baseTableDefinitions.users.name(sqliteTextColumnBuilder),
139- // createdAt: baseTableDefinitions.users.createdAt(sqliteIntegerColumnBuilder),
140- // updatedAt: baseTableDefinitions.users.updatedAt(sqliteIntegerColumnBuilder),
141- // });
142- //
143- // // The actual schema is built in 'services/backend/src/db/schema.sqlite.ts'
144- // // and augmented with plugin tables in 'services/backend/src/db/index.ts'
145- // // export const schema = { users };
117+ // The actual schema is built in 'services/backend/src/db/schema.sqlite.ts'
118+ // and augmented with plugin tables in 'services/backend/src/db/index.ts'
0 commit comments