kamama
Explore posts from serversDTDrizzle Team
•Created by kamama on 10/14/2023 in #help
one to many same table diff column
export const users = pgTable('users', {
id: bigserial('id', { mode: 'bigint' }).primaryKey()
})
export const usersRelations = relations(users, ({ many, one }) => ({
froms: many(explorers, { relationName: 'froms' }),
tos: many(explorers, { relationName: 'tos' })
}))
export const explorers = pgTable('explorers', {
id: uuid('id')
.primaryKey()
.default(sql`gen_random_uuid()`),
fromId: bigserial('from_id', { mode: 'bigint' }).references(
() => users.id
),
toId: bigserial('to_id', { mode: 'bigint' }).references(() => users.id),
createdAt: timestamp('created_at').defaultNow()
})
export const explorersRelations = relations(explorers, ({ one, many }) => ({
from: one(users, {
references: [users.id],
fields: [explorers.fromId]
}),
to: one(users, {
references: [users.id],
fields: [explorers.toId]
})
}))
export const users = pgTable('users', {
id: bigserial('id', { mode: 'bigint' }).primaryKey()
})
export const usersRelations = relations(users, ({ many, one }) => ({
froms: many(explorers, { relationName: 'froms' }),
tos: many(explorers, { relationName: 'tos' })
}))
export const explorers = pgTable('explorers', {
id: uuid('id')
.primaryKey()
.default(sql`gen_random_uuid()`),
fromId: bigserial('from_id', { mode: 'bigint' }).references(
() => users.id
),
toId: bigserial('to_id', { mode: 'bigint' }).references(() => users.id),
createdAt: timestamp('created_at').defaultNow()
})
export const explorersRelations = relations(explorers, ({ one, many }) => ({
from: one(users, {
references: [users.id],
fields: [explorers.fromId]
}),
to: one(users, {
references: [users.id],
fields: [explorers.toId]
})
}))
db.query.users.findMany({
with: {
froms: true,
tos: true
}
})
// error: There is not enough information to infer relation
db.query.users.findMany({
with: {
froms: true,
tos: true
}
})
// error: There is not enough information to infer relation
1 replies