From ea5806d3764492a6c7ebb8b2d6a21e9859682fc8 Mon Sep 17 00:00:00 2001 From: TZGyn Date: Thu, 11 Apr 2024 10:37:13 +0800 Subject: [PATCH] undo separation of schema and relations (it breaks drizzle-kit push) --- frontend/src/lib/db/relations.ts | 56 -------------------------------- frontend/src/lib/db/schema.ts | 48 ++++++++++++++++++++++++++- 2 files changed, 47 insertions(+), 57 deletions(-) delete mode 100644 frontend/src/lib/db/relations.ts diff --git a/frontend/src/lib/db/relations.ts b/frontend/src/lib/db/relations.ts deleted file mode 100644 index 75dfecb..0000000 --- a/frontend/src/lib/db/relations.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { relations } from 'drizzle-orm' -import { - project, - session, - setting, - shortener, - user, - visitor, -} from './schema' - -export const shortenerRelations = relations( - shortener, - ({ one, many }) => ({ - user: one(user, { - fields: [shortener.userId], - references: [user.id], - }), - project: one(project, { - fields: [shortener.projectId], - references: [project.id], - }), - visitor: many(visitor), - }), -) - -export const projectRelations = relations( - project, - ({ one, many }) => ({ - user: one(user, { - fields: [project.userId], - references: [user.id], - }), - shortener: many(shortener), - }), -) - -export const visitorRelations = relations(visitor, ({ one }) => ({ - shortener: one(shortener, { - fields: [visitor.shortenerId], - references: [shortener.id], - }), -})) - -export const sessionRelations = relations(session, ({ one }) => ({ - user: one(user, { - fields: [session.userId], - references: [user.id], - }), -})) - -export const settingRelations = relations(setting, ({ one }) => ({ - user: one(user, { - fields: [setting.userId], - references: [user.id], - }), -})) diff --git a/frontend/src/lib/db/schema.ts b/frontend/src/lib/db/schema.ts index c833e2d..d7d0feb 100644 --- a/frontend/src/lib/db/schema.ts +++ b/frontend/src/lib/db/schema.ts @@ -7,6 +7,7 @@ import { uuid, boolean, } from 'drizzle-orm/pg-core' +import { relations } from 'drizzle-orm' export const shortener = pgTable('shortener', { id: serial('id').primaryKey().notNull(), @@ -69,4 +70,49 @@ export const setting = pgTable('setting', { qr_foreground: varchar('qr_foreground', { length: 7 }), }) -export * from './relations' +export const shortenerRelations = relations( + shortener, + ({ one, many }) => ({ + user: one(user, { + fields: [shortener.userId], + references: [user.id], + }), + project: one(project, { + fields: [shortener.projectId], + references: [project.id], + }), + visitor: many(visitor), + }), +) + +export const projectRelations = relations( + project, + ({ one, many }) => ({ + user: one(user, { + fields: [project.userId], + references: [user.id], + }), + shortener: many(shortener), + }), +) + +export const visitorRelations = relations(visitor, ({ one }) => ({ + shortener: one(shortener, { + fields: [visitor.shortenerId], + references: [shortener.id], + }), +})) + +export const sessionRelations = relations(session, ({ one }) => ({ + user: one(user, { + fields: [session.userId], + references: [user.id], + }), +})) + +export const settingRelations = relations(setting, ({ one }) => ({ + user: one(user, { + fields: [setting.userId], + references: [user.id], + }), +}))