EdgeDB 是一个开源的 Postgres 数据层,旨在解决主要的 SQL 人体工程学和关系模式建模限制,同时提高类型安全性和性能。Documentation Index
Fetch the complete documentation index at: https://docs.shipthing.com/llms.txt
Use this file to discover all available pages before exploring further.
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” 面板为你的实例生成专用的密钥。