diff options
Diffstat (limited to 'packages/web/src/server/db/schema.ts')
| -rw-r--r-- | packages/web/src/server/db/schema.ts | 80 |
1 files changed, 3 insertions, 77 deletions
diff --git a/packages/web/src/server/db/schema.ts b/packages/web/src/server/db/schema.ts index 08c1551..aae0ace 100644 --- a/packages/web/src/server/db/schema.ts +++ b/packages/web/src/server/db/schema.ts @@ -1,6 +1,4 @@ -import { relations } from "drizzle-orm"; -import { index, pgTableCreator, primaryKey } from "drizzle-orm/pg-core"; -import type { AdapterAccount } from "next-auth/adapters"; +import { index, pgTableCreator } from "drizzle-orm/pg-core"; /** * This is an example of how to use the multi-project schema feature of Drizzle ORM. Use the same @@ -14,13 +12,10 @@ export const posts = createTable( (d) => ({ id: d.integer().primaryKey().generatedByDefaultAsIdentity(), name: d.varchar({ length: 256 }), - createdById: d - .varchar({ length: 255 }) - .notNull() - .references(() => users.id), + createdById: d.varchar({ length: 255 }).notNull(), createdAt: d .timestamp({ withTimezone: true }) - .$defaultFn(() => /* @__PURE__ */ new Date()) + .$defaultFn(() => new Date()) .notNull(), updatedAt: d.timestamp({ withTimezone: true }).$onUpdate(() => new Date()), }), @@ -29,72 +24,3 @@ export const posts = createTable( index("name_idx").on(t.name), ], ); -export const users = createTable("user", (d) => ({ - id: d - .varchar({ length: 255 }) - .notNull() - .primaryKey() - .$defaultFn(() => crypto.randomUUID()), - name: d.varchar({ length: 255 }), - email: d.varchar({ length: 255 }).notNull(), - emailVerified: d - .timestamp({ - mode: "date", - withTimezone: true, - }) - .$defaultFn(() => /* @__PURE__ */ new Date()), - image: d.varchar({ length: 255 }), -})); -export const usersRelations = relations(users, ({ many }) => ({ - accounts: many(accounts), -})); -export const accounts = createTable( - "account", - (d) => ({ - userId: d - .varchar({ length: 255 }) - .notNull() - .references(() => users.id), - type: d.varchar({ length: 255 }).$type<AdapterAccount["type"]>().notNull(), - provider: d.varchar({ length: 255 }).notNull(), - providerAccountId: d.varchar({ length: 255 }).notNull(), - refresh_token: d.text(), - access_token: d.text(), - expires_at: d.integer(), - token_type: d.varchar({ length: 255 }), - scope: d.varchar({ length: 255 }), - id_token: d.text(), - session_state: d.varchar({ length: 255 }), - }), - (t) => [ - primaryKey({ columns: [t.provider, t.providerAccountId] }), - index("account_user_id_idx").on(t.userId), - ], -); -export const accountsRelations = relations(accounts, ({ one }) => ({ - user: one(users, { fields: [accounts.userId], references: [users.id] }), -})); -export const sessions = createTable( - "session", - (d) => ({ - sessionToken: d.varchar({ length: 255 }).notNull().primaryKey(), - userId: d - .varchar({ length: 255 }) - .notNull() - .references(() => users.id), - expires: d.timestamp({ mode: "date", withTimezone: true }).notNull(), - }), - (t) => [index("t_user_id_idx").on(t.userId)], -); -export const sessionsRelations = relations(sessions, ({ one }) => ({ - user: one(users, { fields: [sessions.userId], references: [users.id] }), -})); -export const verificationTokens = createTable( - "verification_token", - (d) => ({ - identifier: d.varchar({ length: 255 }).notNull(), - token: d.varchar({ length: 255 }).notNull(), - expires: d.timestamp({ mode: "date", withTimezone: true }).notNull(), - }), - (t) => [primaryKey({ columns: [t.identifier, t.token] })], -); |