DT
Drizzle Team‱8mo ago
Paddy

Composite primary key, multiple primary keys

I am following the Lucia-auth docs for multiple oauth providers, it's says: PRIMARY KEY (provider_id, provider_user_id) as shown here: https://lucia-auth.com/guides/oauth/multiple-providers I am using Postgres with TypeScript so I made it like this, instead of the SQLite example they use.
export const oauthAccount = pgTable(
'oath_account',
{
provider_id: text('provider_id').notNull(),
provider_user_id: text('provider_user_id').notNull(),
user_id: text('user_id')
.notNull()
.references(() => users.id),
},
(table) => {
return {
pk: primaryKey({
columns: [table.provider_id, table.provider_user_id],
}),
};
}
);
export const oauthAccount = pgTable(
'oath_account',
{
provider_id: text('provider_id').notNull(),
provider_user_id: text('provider_user_id').notNull(),
user_id: text('user_id')
.notNull()
.references(() => users.id),
},
(table) => {
return {
pk: primaryKey({
columns: [table.provider_id, table.provider_user_id],
}),
};
}
);
Its returning in the terminal: multiple primary keys for table "oath_account" are not allowed.. But in the docs it shows I need it, right, what am I doing wrong? Thanks in advance.
Lucia
Multiple OAuth providers
Lucia is an open source auth library that abstracts away the complexity of handling sessions.
3 Replies
_Pear
_Pear‱8mo ago
I'm getting the same error using neondb. Also following the same lucia auth docs 🙂
ƁukaszWiƛniewski
check if you're importing "pimaryKey" from the right db adapter,
_Pear
_Pear‱8mo ago
I am. Often my migration or push:pg will fail. The raw SQL from the migration file seemed to mostly work though. I'll try to file a proper issue if I can reproduce it reliably.
Want results from more Discord servers?
Add your server