不定期更新
变量名
变量命名时尽量不要用type, class 这些名称,以免用的时候,报一些奇怪的错误。编译器不知道是,自定义的名,还是语法里的意思。comment 也是关键字,需自己导包,我也是服了。
eager
eager 谨慎使用,特别是relation有相互包含的时候。必须只能加在一边,防止重复包含,导致stack overflow。
eager 只会在find里生效,querybuilder 必须join
find
find 有很多选项足够用了可以代替 queryBuilder
OneToMany Save
例子: 商品储存多个价格, data 是发送的商品数据,其中包含了price
注意 data.price 这一步是必须的,是为了更新刚储存完的id号,typeorm 用id 来建立关系
环境变量
process.env. 在for root里不好使,即使在main.ts里提前执行了config()。
非 for root 使用 require('dotenv').config() rocess.env.
for root 使用 aynscfor root
在服务器更新 .env 文件
##数据库更新
typeorm 更新的很随缘,如果发现数据格式不符bug。可以把dist文件夹删了 重跑一遍。
如 enum更新,或Column type更新
typeorm 从 entity.js 读取column 信息。
Controller
切记不要写这种路径 Get(':id') Get('user')
Swagger paramter
参数必须声明类型,swagger才能识别到
nestjsx/crud
版本最好4.6.0, 4.5同时get by id和relation会报sql syntax error
typescript
类型错误或不匹配时候可以强行转成any
You can always temporarily cast $ to any:
delete ($ as any).summernote
mysql: 3306 eradr
出现这个错误大概率是,.env或production.env 的问题,本地的话检查下port端口,设置为localhost
Observable
nestjs httpservice 默认返回Observable