关联模型操作
- 查询子模型多对一情况下,不需要include被关联模型也能查出自己外键id
- 多对一模型新增数据时,被关联的外键传值,如果model配置的外键为非必填(?),创建将会报错,多对一不能将外键设置为空
- 持久化数据到数据库时,Prisma对时区的格式没有识别,如moment.js的utcOffset(8)转换成格式为Moment<2024-06-03T22:55:26+08:00>无法识别时区,此时手动添加8个小时来解决问题,moment().add(8, 'hours').toDate()进行保存(不知道有没有副作用);还可以通过设置字段为int方式的时间戳解决,在prisma没有更新修复此bug,创建的项目暂时这么使用了。
注意事项
- Prisma执行迁移时数据库数据很可能被清除,注意备份数据。
- 备份数据时各个数据库生成的.sql文件代码可能要重新删除存在的表再创建,你应该备份根据字段来进行插入数据,而不是drop表后,再创建表,如果结构改变,需要注意这些问题。
- 开发阶段,更改字段等操作可以手动在数据库手动操作字段和prisma model匹配,避免执行migrete命令造成数据丢失,更改Prisma model后执行命令npx prisma generate来生成新的client操作