import { drizzle } from "drizzle-orm/neon-http";
import { drizzle as neonDrizzle } from "drizzle-orm/neon-serverless";
import { neonConfig, Pool } from "@neondatabase/serverless";
import ws from "ws";
neonConfig.webSocketConstructor = ws;
// For supporting transactions
const getTransactionalDb = () => {
const pool = new Pool({
// postgresql://neondb_owner:***@ep-***-pooler.us-east-1.aws.neon.tech/neondb?sslmode=require
connectionString: process.env.DATABASE_URL!,
});
const neon = neonDrizzle(pool, { casing: "snake_case" });
return neon;
};
// For use with Drizzle Authorize RLS
const authDB = drizzle({
// postgresql://authenticated@ep-***-pooler.us-east-1.aws.neon.tech/neondb?sslmode=require
connection: process.env.DATABASE_AUTHENTICATED_URL!,
casing: "snake_case",
});
export { authDB, getTransactionalDb }
import { drizzle } from "drizzle-orm/neon-http";
import { drizzle as neonDrizzle } from "drizzle-orm/neon-serverless";
import { neonConfig, Pool } from "@neondatabase/serverless";
import ws from "ws";
neonConfig.webSocketConstructor = ws;
// For supporting transactions
const getTransactionalDb = () => {
const pool = new Pool({
// postgresql://neondb_owner:***@ep-***-pooler.us-east-1.aws.neon.tech/neondb?sslmode=require
connectionString: process.env.DATABASE_URL!,
});
const neon = neonDrizzle(pool, { casing: "snake_case" });
return neon;
};
// For use with Drizzle Authorize RLS
const authDB = drizzle({
// postgresql://authenticated@ep-***-pooler.us-east-1.aws.neon.tech/neondb?sslmode=require
connection: process.env.DATABASE_AUTHENTICATED_URL!,
casing: "snake_case",
});
export { authDB, getTransactionalDb }