js 最近的 drizzle orm 库很不错
性能上比 prisma(https://www.prisma.io/) 好了很多:
延迟 57 倍提升,qps 4 倍提升,CPU 负载降一半。
另外一点是类型非常友好,类型打分排序的话应该是
我用的方式,没有用装饰器,我是 egg + Sequelize 用的 ts,目前我觉得够用,可能我要求不高。
export default (app: Context & Application) => {
const { model, Sequelize } = app
// 获取数据类型
const { INTEGER, STRING, SMALLINT, TEXT } = Sequelize
return model.define(
'grade', {
id: { autoIncrement: true, type: INTEGER, allowNull: false, primaryKey: true },
sid: { type: SMALLINT, defaultValue: 24, comment: '模型ID' },
uid: { type: INTEGER, allowNull: false, comment: '用户ID' },
aid: { type: INTEGER, allowNull: false, comment: '关联ID' },
country: { type: INTEGER, allowNull: false, comment: '国家' },
grade: { type: STRING, allowNull: false, comment: '分级' },
content: { type: TEXT, allowNull: false, comment: '简介' }
},
{ timestamps: false }
) as BaseModelStatic<GradeType>
}