简体中文
如何将数据库提供商更改为 PlanetScale。
mysql://<username>:<password>@<region>.aws.connect.psdb.cloud/<database>
DATABASE_URL="mysql://<username>:<password>@<region>.aws.connect.psdb.cloud/<database>"
@repo/database
pnpm remove @neondatabase/serverless @prisma/adapter-neon ws @types/ws --filter @repo/database
pnpm add @planetscale/database @prisma/adapter-planetscale --filter @repo/database
import 'server-only'; import { Client, connect } from '@planetscale/database'; import { PrismaPlanetScale } from '@prisma/adapter-planetscale'; import { PrismaClient } from '@prisma/client'; import { env } from '@repo/env'; declare global { var cachedPrisma: PrismaClient | undefined; } const client = connect({ url: env.DATABASE_URL }); const adapter = new PrismaPlanetScale(client); export const database = new PrismaClient({ adapter });
// 这是您的 Prisma 模式文件, // 了解更多信息,请参阅文档:https://pris.ly/d/prisma-schema generator client { provider = "prisma-client-js" previewFeatures = ["driverAdapters"] } datasource db { provider = "mysql" url = env("DATABASE_URL") relationMode = "prisma" } // 这是一个存根模型。 // 删除它并添加您自己的 Prisma 模型。 model Page { id Int @id @default(autoincrement()) email String @unique name String? }
dev
package.json
{ "scripts": { "dev": "pscale connect [database_name] [branch_name] --port 3309" } }