nest.js项目表字段规范及如何实现

160 阅读1分钟

先说结论

  • 数据库层面:推荐使用snake_case。
  • NestJS代码层面(Entity属性):推荐使用camelCase
  • ORM(TypeORM):会帮助您在两者之间进行映射。
  1. 在nest里直接声明camelCase格式的字段名,在数据库里存储snake_case格式的字段,ORM会帮我们自动映射到正确的字段名 image.png
  2. 但是在设置外键的时候,我们我们必须使用snake_case格式,否则数据库迁移的时候会创建一个同名的camelCase字段,此外我们还需要再次声明一下这个字段但是不要用@Column装饰器,这样就可以正常互相映射了 image.png
  3. 执行数据库迁移的时候需要使用SnakeNamingStrategy,用来根据实体的camelCase格式的字段名在数据库生成snake_case格式的字段(注意需要在迁移配置里同样适用这个插件) image.png