pgSchemas and BetterAuth

I am trying to integrate better auth and drizzle into a new Elysia app, and had some questions regarding separating schemas in my db. I want to put the users, accounts, verifications, and sessions on an auth schema and the rest on a public schema. Can someone give me a sanity check to make sure I am doing this right?
//drizzle.config.ts
import type { Config } from "drizzle-kit";
import * as dotenv from "dotenv";
dotenv.config();
const { DATABASE_URL } = process.env;
if (!DATABASE_URL) {
throw new Error("No url");
}
export default {
schema: "./src/lib/database/schema",
out: "./src/lib/database/migrations",
dialect: "postgresql",
dbCredentials: {
url: DATABASE_URL,
},
schemaFilter: ["auth", "public"],
tablesFilter: [
"auth.users",
"auth.sessions",
"auth.accounts",
"auth.verifications",
"public.*",
],
} satisfies Config;


//schema.ts

export const authSchema = pgSchema("auth");
export const publicSchema = pgSchema("public");

// Auth Tables

export const users = authSchema.table("users", {
// column defs
});


// better auth instance


export const auth = betterAuth({
database: drizzleAdapter(db, {
provider: "pg",
usePlural: true,
schema: {
...schema,
users: schema.users,
// other auth tables
}
}),

});
//drizzle.config.ts
import type { Config } from "drizzle-kit";
import * as dotenv from "dotenv";
dotenv.config();
const { DATABASE_URL } = process.env;
if (!DATABASE_URL) {
throw new Error("No url");
}
export default {
schema: "./src/lib/database/schema",
out: "./src/lib/database/migrations",
dialect: "postgresql",
dbCredentials: {
url: DATABASE_URL,
},
schemaFilter: ["auth", "public"],
tablesFilter: [
"auth.users",
"auth.sessions",
"auth.accounts",
"auth.verifications",
"public.*",
],
} satisfies Config;


//schema.ts

export const authSchema = pgSchema("auth");
export const publicSchema = pgSchema("public");

// Auth Tables

export const users = authSchema.table("users", {
// column defs
});


// better auth instance


export const auth = betterAuth({
database: drizzleAdapter(db, {
provider: "pg",
usePlural: true,
schema: {
...schema,
users: schema.users,
// other auth tables
}
}),

});
0 Replies
No replies yetBe the first to reply to this messageJoin

Did you find this page helpful?