最初的想法是扩展SQL的单行注释, 让其可以声明这个SQL文件所需参数, 如
--? age: num = 18 // 最低年龄
select
name, age
from student
where age >= @age
--? age: num = 18 // 最低年龄这一行
意味此文件接受一个 f64 类型的参数 age, 且默认值为 18, //
后为参数说明, 使用 @age
语法来使用参数值. 我把这些SQL成为参数化的SQL(PSQL)
基于这个功能, 目前有两个扩展, 一个是读取PSQL后,根据参数解析命令行参数, 拿到根据传参值渲染后的SQL可以拿来做别的事情, 如直接运行SQL等. 具体用法可以参考 examples/cli.
另一个是则是和openapi结合,把参数翻译成openapi参数, 加上额外的信息, 一个SQL文件可以直接生成一个http api, 这个在(examples/http)[https://github.com/PrivateRookie/psql/blob/main/examples/http.rs]中
在read中也有生成的openapi例子. 目前功能有限, 还只是原型阶段, 欢迎提建议意见.
Ext Link: https://privaterookie.github.io/psql/
1
共 0 条评论, 1 页
评论区
写评论还没有评论