Menu

数据库开发示例

对于不熟悉服务端开发的人来说,即使有了完整的全栈模板,可能依然会对数据库的创建、更新等操作很迷茫。

本章就来介绍一下,基于 Nexty 模板开发产品,如何更新内置的数据表、如何创建新的数据表来支持功能开发。

初始化数据库

通过命令初始化数据库和种子数据:

# 初始化数据库
npm run db:migrate
 
# 导入示例定价计划种子数据
npm run db:seed

完成后,即可在数据库看到完整的数据表。

tables

已有数据表新增字段

假设一个场景,我们希望用户注册的时候,根据 url 携带的参数记录来源,那么 user 表需要新增一个字段 referral

先修改 lib/db/schema.ts 文件里的数据表定义,然后执行命令生成迁移文件:

npm run db:generate

执行命令后,会在 lib/db/migrations/ 新增一个迁移文件,再通过命令把迁移文件推送到数据库:

npm run db:migrate

现在到数据库查看 user 表,会发现已经成功添加 referral 字段。

这是数据表扩展字段的示例,删除字段、更新字段定义等需求也可以用同样的步骤来完成。

新增数据表

先在 lib/db/schema.ts 文件里添加新的数据表定义,然后执行命令生成迁移文件:

npm run db:generate

执行命令后,会在 lib/db/migrations/ 新增一个迁移文件,再通过命令把迁移文件推送到数据库:

npm run db:migrate

这样就完成了新建数据表。

可视化管理:

如果你使用的是本地数据库或者自部署的数据库,那么就可以用这个命令打开数据库可视化窗口:

npm run db:studio