aboutsummaryrefslogtreecommitdiff
path: root/packages/web/src/server/db/schema.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/web/src/server/db/schema.ts')
-rw-r--r--packages/web/src/server/db/schema.ts80
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] })],
-);