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 放在服务器端新增、修改数据。

API Settings

准备 DIRECT_DATABASE_URL 直连配置,用来运行 prisma 同步的功能。

Connection string

.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


Resources

Features

Company

Copyright © 2024. All rights reserved.