SQLer 是一个微型 http 服务器,用 Go 语言编写,将旧的 CGI 概念应用于 SQL 查询。SQLer 允许编写端点并分配一个 SQL 查询,以便任何人点击它时能执行查询。此外 SQLer 还允许自定义验证规则,可验证请求正文或查询参数。SQLer 使用 nginx 样式配置语言(HCL)。
SQLer 功能
无需依赖,可独立使用;
支持多种数据可类型,包括:SQL Server, MYSQL, SQLITE, PostgreSQL, Cockroachdb等;
内置RESTful服务器;
内置RESP Redis协议,可以使用任何redis客户端连接到SQLer;
内置Javascript解释器,可轻松转换结果;
内置验证器;
自动使用预备语句;
使用(HCL)配置语言;
可基于unix glob模式加载多个配置文件;
每条SQL查询可被命名为宏;
在每个宏内可使用
Go
text/template
;每个宏都有自己的Context(查询参数+正文参数)作为
.Input
(map [string] interface{}),而.Utils
是辅助函数列表,目前它只包含SQLEscape;可自定义授权程序,授权程序只是一个简单的webhook,sqler使用这个webhook验证是否应该完成某请求。
下载
配置概况
支持的 SQL 引擎
sqlite3
mysql
postgresql
cockroachdb
sqlserver
支持的 Util
.Hash <method>
- 使用指定的方法[md5,sha1,sha256,sha512,bcrypt]散列指定的输入,{{ "data" | .Hash "md5" }}
;·.UnixTime
- 以秒为单位返回unit时间,{{ .UnixTime }}
;.UnixNanoTime
- 以纳秒为单位返回unix时间,{{ .UnixNanoTime }}
;.Uniqid
- 返回唯一ID,{{ .Uniqid }}
。
协议
SQLer 遵循 Apache 2.0 协议。
评论