导读
开始读源码之前,先把两件事讲清楚:
- 怎么读这一卷:为什么是 sea-orm 2.0.4、sea-query 1.0.2、sqlx 0.9.0,和本站用的 1.1.20 差在哪;sea-orm → sea-query → sqlx 三层各管什么;查询、写入、定义三条主线每一步落在哪个函数、哪一页讲;阅读路线、前置知识;
build、sqlx 日志、debug-print、MockDatabase四种看 SQL 的办法各看到什么。 - 源码地图:
sea-orm、sea-orm-macros、sea-query、sea-query-sqlx、sea-orm-migration、sea-orm-cli、sea-orm-codegen、sea-schema各管什么、谁依赖谁;src/每个目录回答的问题和行数;默认集里没有驱动的 feature 体系;sea-orm-sync怎么由make-sync.sh从异步源码生成,重跑一遍和发布的逐字节相同。
flowchart TB read[怎么读这一卷] --> ver["版本 1.1.20 到 2.0.4"] read --> layers["三层 sea-orm sea-query sqlx"] read --> lines[三条主线] read --> see["四种看 SQL 的办法"] map[源码地图] --> crates[各个 crate] map --> dirs["src 的目录"] map --> feat[feature 体系] map --> sync["sea-orm-sync 的生成"]
💬 关联讨论
发起讨论加载中...