ShipThing
使用 Neon 作为数据库提供商,并使用 Prisma 作为 ORM,以及 Clerk 进行身份验证。本指南将提供将数据库提供商从 Neon 切换到 EdgeDB 所需的步骤。
对于身份验证,将提供另一个指南来切换到 EdgeDB Auth,包括访问策略、社交身份验证提供商等。
ShipThing
项目从 Neon 切换到 EdgeDB。
1. 创建新的 EdgeDB 数据库
在 EdgeDB Cloud 创建一个账户。完成后,创建一个新实例(你可以使用 EdgeDB 的免费层)。我们稍后将通过 EdgeDB CLI 连接到它。2. 替换 @repo/database
中的依赖项
卸载现有的依赖项…
Terminal
Terminal
3. 在 @repo/database
包中设置 EdgeDB
在 @repo/database
目录中运行:
Terminal
将
<org_name>
和 <instance_name>
替换为你之前在 EdgeDB Cloud 中创建的组织和实例。init
命令会创建一个名为 dbschema
的子目录,其中包含与 EdgeDB 相关的所有内容:
@repo/database
中删除 prisma/
目录:
Terminal
4. 更新数据库连接代码
更新数据库连接代码以使用 EdgeDB 客户端:packages/database/index.ts
5. 更新模式文件并生成类型
现在,你可以修改数据库模式:dbschema/default.esdl
Terminal
Terminal
dbschema
目录中生成代码。
6. 更新你的查询
现在你可以更新你的查询以使用 EdgeDB 客户端。 例如,以下是如何在zh/app/(authenticated)/page.tsx
中更新 page
查询:
zh/app/(authenticated)/page.tsx
7. 用 EdgeDB UI 替换 Prisma Studio
你也可以删除位于apps/studio
的现在未使用的 Prisma Studio 应用:
Terminal
Terminal
8. 提取用于部署的 EdgeDB 环境变量
在部署你的应用时,你需要在应用的云提供商中提供EDGEDB_SECRET_KEY
和 EDGEDB_INSTANCE
环境变量以连接到你的 EdgeDB Cloud 实例。
你可以使用 npx edgedb cloud secretkey create
或通过实例仪表板中的 “Secret Keys” 面板为你的实例生成专用的密钥。