proposal.detail
已接受The Ubuntu TechHive
Inside SQLx: How Rust Checks SQL Before Your Application Runs
本次分享将追踪一个查询在 Rust 与数据库之间的边界穿梭过程:从 SQL 文本和绑定参数开始,经过模式检查和类型分析,最终将 Rust 值返回给应用程序。
中级 · 2 小时 · 2026年七月11
描述
section.description这是一个为期两小时的实践课程,旨在探讨 SQLx 如何在编译阶段(而非部署后)检测无效 SQL、不兼容参数、缺失列以及错误的 Rust 映射。
本次课程将追踪一个查询在 Rust 与数据库边界之间的流转过程:从 SQL 文本和绑定参数开始,经过模式检查和类型分析,最终到达返回给应用程序的 Rust 值。我们将故意破坏查询、更改模式并引入类型不匹配,以了解 SQLx 在运行时之前能证明什么,以及它不能证明什么。
重点不在于死记硬背 API,而在于理解编译时检查 SQL 背后的工程模型、迁移在维护该模型中的作用,以及对本地开发、测试、持续集成和部署的实际影响。
受众:希望了解 Rust 如何在不使用 ORM 或查询语言替换 SQL 的前提下,为普通 SQL 提供更强保证的开发者。
学习成果:
- 追踪 SQLx 如何在编译期间验证查询
- 理解数据库元数据如何为 Rust 类型检查提供信息
- 查看由无效查询和不兼容结果类型导致的编译时失败
- 理解为什么当前模式在构建过程中至关重要
- 将数据库迁移与查询正确性联系起来
- 区分已检查宏与运行时查询 API
- 评估编译时 SQL 检查何时能改进项目,以及何时会增加阻力
形式:两小时的引导式调查,包含破坏性查询实验、迁移示例、操作权衡讨论以及一份可复用的数据库代码检查清单。
会员支持
1 支持者
希望此活动发生的社区成员。
该提案的投票已结束。
提案详情
状态
已接受
难度
中级
持续时间
2 小时
已创建
2026年七月11