数据库
SuperStarter 中数据库和 ORM 的配置方式。
SuperStarter 旨在提供一个健壮、类型安全的数据库客户端,使您能够轻松地使用数据库,同时在整个应用程序中保持强类型。我们支持以下工具:
- 提供声明式的方式来定义数据库模式
- 生成类型安全的数据库客户端
- 处理数据库迁移
- 提供强大的查询功能,并完全支持 TypeScript
默认配置
默认情况下,SuperStarter 使用 Neon 作为数据库提供商,使用 Prisma 作为 ORM。但是,如果您愿意,可以轻松切换到其他提供商,例如:
- 您可以使用其他 ORM,如 Drizzle、Kysely 或其他任何类型安全的 ORM。
- 您可以使用其他数据库提供商,如 PlanetScale、Prisma Postgres、Supabase、EdgeDB 或其他任何 PostgreSQL/MySQL 提供商。
使用
数据库和 ORM 配置位于 @repo/database
中。您可以将此包导入任何服务器端组件,如下所示:
模式定义
数据库模式定义在 packages/database/prisma/schema.prisma
中。此模式文件使用 Prisma 的模式定义语言来描述数据库表、关系和类型。
添加新模型
假设我们要添加一个名为 Post
的新模型,用于描述博客文章。博客内容将以 JSON 格式生成,使用 Tiptap 等库。为此,我们将在您的模式中添加以下内容:
packages/database/prisma/schema.prisma
部署更改
要部署您的模式更改,请运行以下命令:
Terminal
这将运行以下命令:
npx prisma format
格式化模式文件npx prisma generate
生成 Prisma 客户端npx prisma db push
将模式更改推送到数据库
可视化数据库编辑器
studio
应用程序运行在 3005 端口。SuperStarter 包含 Prisma Studio,这是一个可视化的数据库编辑器。要启动它,请运行以下命令:
Terminal