速通 syntax.fm 633 讲 ORM
辛宝Otto
音頻聽不了?可通過下面方式收聽:
本期音頻時長 14 分鐘,稍長,可安全收聽。
介紹#
本期帶讀 syntax.fm 《wtf is an orm》,介紹和數據庫有關的 ORM。Object Relation Mapping ORM, 對象關係映射
- 主播認為即便不用現成的 ORM,隨著業務發展也會沉澱自己的 ORM
- 1971 年 IBM 就有 ORM 的概念了
- ORM 一般支持多種數據庫 support multiple types of databases
- 和關係數據庫 mysql/postgres/sql server 等,NoSQL 也需要數據的 shape 約束。schema/model for type safty
- prisma 的流行和問題。own dsl
- sequelize 不支持 no sql support sqlite 快速實現
- objection.js 沒用過。7k star,持續了半年,常規支持
- knex 沒提,其實 strapi 用到了
- drizzle 推特很火,0 依賴,lightweight 。http,work in serverless 支持 tcp 鏈接、支持不同的 js 運行時 deno/node/cloudflare workers/fastify/alibaba
- mongoose -shape of your data。聚合
- typeorm - from nest.js/ also auth/web hooks, service
- waterline
- 優化、控制權、給出 sql 方案、必須要學習 orm 語法
- migration 遷移,變化 db 結構