Getting Started
6 数据库
配置 prisma、Supabase、postgres 数据库。
前言
我采用 prisma orm 连接 postgres 数据,进行数据管理。
选用 postgres 主要是考虑可以用像 Supabase 这种云服务来零费用启动项目。
自建服务连接
直接写 postgresql
连接字符串即可,环境变量名为 DATABASE_URL
。
# prisma orm 数据库
DATABASE_URL="postgresql://账号:密码@服务器:端口/数据库?schema=public"
Supabase 连接
准备 DATABASE_URL
连接 API Key
。
- URL 服务器地址。
anon
public
这个 key 用在客户端拉数据访问用。service_role
secret
放在服务器端新增、修改数据。
准备 DIRECT_DATABASE_URL
直连配置,用来运行 prisma 同步的功能。
.env
配置,如下配置两个环境变量。
DATABASE_URL="prisma://accelerate.prisma-data.net/?api_key=__API_KEY__"
DIRECT_DATABASE_URL="postgresql://user:password@host:port/db_name?schema=public"
prisma/schema.prisma
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
directUrl = env("DIRECT_DATABASE_URL")
schemas = ["next_auth", "public"]
}
同步数据
同步 schema.prisma 中的数据表定义到服务器 postgres 表。
npm run prisma:migrate
创建 prisma client
执行后会在 /prisma/client
目录中创建连接库文件,同时复制到 /node_modules/@prisma/client/
位置被使用。
npm run prisma:generate
到这里完成了 prisma 的配置。
end