数据库集成
借助 Nexty 的自动化数据库适配,你只需要配置一个环境变量 DATABASE_URL
,模板就会根据运行平台(Vercel/Netlify/Server)和数据库提供商(Supabase/Neon/自建)自动选择最佳连接参数。
- 唯一必需环境变量:
DATABASE_URL
- 已内置工具: Drizzle ORM + drizzle-kit(迁移/推送/可视化)与种子数据脚本
- 自动优化:
- Serverless(Vercel/Netlify/Lambda)自动降为单连接,避免超限
- Supabase/Neon 自动启用 SSL
- Neon + Vercel 自动禁用 prepared statements,避免不兼容问题
使用 supabase
创建数据库
访问 Supabase 官网,注册账号。如果你想用域名邮箱注册,可先完成Resend集成与域名邮箱配置。
点击 New Project
创建新项目

记住这一步填写的密码

将环境变量赋值到 .env
或者 .env.local
文件


需要用上一步填写的密码替换掉 [YOUR-PASSWORD]
。
初始化数据库
通过命令初始化数据库和种子数据:
# 初始化数据库
npm run db:migrate
# 导入示例定价计划种子数据
npm run db:seed
完成后,即可在数据库看到完整的数据表。

使用 neon
创建数据库
访问 Neon 官网,注册账号。如果你想用域名邮箱注册,可先完成Resend集成与域名邮箱配置。
点击 Create Project
创建新项目


将环境变量赋值到 .env
或者 .env.local
文件


初始化数据库
通过命令初始化数据库和种子数据:
# 初始化数据库
npm run db:migrate
# 导入示例定价计划种子数据
npm run db:seed
完成后,即可在 Supabase 看到完整的数据表。

更新数据库定义
在 package.json
提供了一些常用的数据库操作命令。
在开发业务功能的时候,需要创建新的数据表或者扩展原有的数据表,只需按照以下步骤执行:
- 在
lib/db/schema.ts
更新数据库定义 - 执行
npm run db:generate
命令,自动生成迁移文件 - 执行
npm run db:migrate
命令,更新迁移文件到数据库
如果你使用自建 Postgres,则可以执行 npm run db:studio
打开可视化页面。
在 package.json
提供的命令中,还有一项是 "db:push": "drizzle-kit push"
,当你执行 npm run db:push
的时候,不会生成迁移文件,而是直接更新到数据库,这不是规范的做法,一般不推荐使用这个命令。
自定义 Drizzle 配置
模板拥有根据运行平台和数据库服务商自动创建 Drizzle 配置的能力,自动配置的文件在 lib/db/config.ts
。运行环境支持判断 Vercel、netlify、lambda和服务器环境,数据库提供商支持 supabase、neon、aws-rds、gcp-sql 和自建 Postgres。
如果你使用的运行环境或者数据库服务商不在其中,可以很方便地在 lib/db/config.ts
进行扩展。
如果使用服务器部署项目,你可以根据服务器的 CPU 和内存变更最大连接数 max
的值;如果自建 Postgres 或有特定合规要求,也可进行参数覆盖。