我目前在运行 postgres 的项目上使用 prisma 2.20.1。
在他们的文档中,他们说要导入 PrismaClient 并在整个应用程序中实例化它。
但是,来自其他用例,您只连接到数据库一次,在每条路线(我的项目结构设置为不同的文件和目录)、实例化和(再次连接到数据库?)上都感觉很奇怪。
我的观点是,有没有办法将数据库连接集中在一个文件中,并在整个应用程序中使用它的实例?这样做会安全吗?有什么后果吗?
我的想法是这样的:
// database.ts
import { PrismaClient } from '@prisma/client';
class Database {
constructor() {
this.db = new PrismaClient();
}
}
const database = new Database();
export default new Database();
然后跨路由文件
// specificRouteFile.ts
import db from 'database';
// run queries...
db.SomeTable.create({})