import { PrismaClient } from '@prisma/client';
import { neonConfig, Pool } from '@neondatabase/serverless';
import { PrismaNeon } from '@prisma/adapter-neon';
// Copied from https://github.com/prisma/prisma/issues/21310#issuecomment-2023676550
if (global.WebSocket === undefined) {
const ws = require('ws')
neonConfig.webSocketConstructor = ws
}
let databaseUrl = process.env.DATABASE_URL;
if (databaseUrl.includes('localhost')) {
neonConfig.wsProxy = () => `wsproxy.example.com:3456/v1`
neonConfig.useSecureWebSocket = false
neonConfig.pipelineConnect = false
}
const pool = new Pool({ connectionString: databaseUrl })
const adapter = new PrismaNeon(pool)
const prisma = new PrismaClient({
adapter,
datasources: {
db: { url: 'wsproxy.example.com:3456' },
},
})
export default prisma;
import { PrismaClient } from '@prisma/client';
import { neonConfig, Pool } from '@neondatabase/serverless';
import { PrismaNeon } from '@prisma/adapter-neon';
// Copied from https://github.com/prisma/prisma/issues/21310#issuecomment-2023676550
if (global.WebSocket === undefined) {
const ws = require('ws')
neonConfig.webSocketConstructor = ws
}
let databaseUrl = process.env.DATABASE_URL;
if (databaseUrl.includes('localhost')) {
neonConfig.wsProxy = () => `wsproxy.example.com:3456/v1`
neonConfig.useSecureWebSocket = false
neonConfig.pipelineConnect = false
}
const pool = new Pool({ connectionString: databaseUrl })
const adapter = new PrismaNeon(pool)
const prisma = new PrismaClient({
adapter,
datasources: {
db: { url: 'wsproxy.example.com:3456' },
},
})
export default prisma;