-
Notifications
You must be signed in to change notification settings - Fork 4
Home
lwe是leave work early的缩写,也就是"早点下班"!🤣🤣🤣 它是一个帮助开发者提高工作效率的跨平台命令行工具,当然你把它当做go入门学习的项目也是合适的! 总之,欢迎提issue、提好玩或者使用的功能需求,最好能直接PR参与到项目中,大家一起努力,争取早点下班!!! 💪💪💪
1.由建表SQL语句转换成Java Bean、Go结构体、Json等
2.将SQL语句转换成ElasticSearch查询的DSL语言
到release页获取对应平台的版本,在终端上即可使用该二进制文件!
如果你经常使用lwe,更推荐的方式是将二进制文件配置到环境变量中,这样可以随时随地使用二进制文件
更多的安装方式和注意事项,查查阅Wiki
你可以输入lwe
查看lwe命令的使用方式,有哪些子命令及其各自对的功能描述:
Usage: lwe [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
es Translate SQL to elasticsearch's DSL
fmt Generate the specified file based on SQL
gcl Update all git repository under the given dir
gl Update all git repository under the given dir
glog Get all git repository commit log under the given dir
.....
如果你想查看lwe子命令的功能和使用方式,可以使用-h
参数查看命令的使用帮助
,如:lwe es -h
如果我们已经有了表结构,使用建表语句生成对应的实体可以大大减少我们"无脑且重复"工作。 目前支持生成的结构包括Java、Go、Json。
使用方式:
Usage:
lwe fmt [flags]
Examples:
lwe fmt sql-file-path [-t=java|go|json] [-a=yesAnd]
详细使用说明,可以查阅Wiki
lwe es [可选参数] <SQL语句>
这个命令可以帮我们从繁琐的ES查询语法中解脱出来,它可以将sql语句转换成响应的DSL,并且以curl命令的形式输出,这样服务器上也可以方便的使用。 当前版本支持的SQL操作
使用方式:
Usage:
lwe es [flags]
Examples:
lwe es 'select * from user where age >18' [-p=true]
详细使用说明,可以查阅Wiki
这里是几个围绕git相关的增强命令,基本都是在原语义上增加了一些跨git仓库的操作Git增强功能详细使用说明,可以查阅Wiki
查看给定目录下所有git仓库提交日志 开发人员通常会在多个git仓库下工作,经常会有同时查看多个git仓库提交日志的需求,glog子命令就派上用场了。
使用方式:
Usage:
lwe glog [flags]
Examples:
lwe glog [git repo dir] [-a=yesAnd] [-n=50] [-s=2023-08-04] [-e=2023-08-04]
拉取给定目录下的所有git仓库最新代码(使用的git pull --rebase的方式)
使用方式:
Usage:
lwe gl [flags]
Examples:
lwe gl [git repo dir]
使用方式:
Usage:
lwe gcl [flags]
Examples:
lwe gcl gitGroupUrl [dir for this git group] -t=yourToken
查看给定目录下的所有git仓库状态
使用方式:
Usage:
lwe gst [flags]
Examples:
lwe gst [your git repo dir]
使用方式:
Usage:
lwe url [flags]
Examples:
lwe url yourUrl
详细使用说明,可以查阅Wiki
如果想从Navicat保存的连接中获取对应数据库的用户名/密码,可以使用ncx文件,ncx文件是Navicat导出的连接配置文件,但ncx中的密码是一个加密后的十六进制串,使用ncx命令可以获取对应的明文使用方式:
Usage:
lwe ncx [flags]
Examples:
lwe ncx ncx-file-path
详细使用说明,可以查阅Wiki
如果你有备份文件的习惯,这个工具可能会帮到你,它可以将源目录文件下的新增的文件同步到备份目录,省去了你逐层文件夹逐个文件去手动同步。使用方式:
Usage:
lwe fsync [flags]
Examples:
lwe fsync sourceDir targetDir [-d=true]
详细使用说明,可以查阅Wiki
1.使用spf13/cobra库来方便的构建命令行工具
2.es子命令实现借助了sqlparser库来解析SQL语句,一个库很优秀的解析SQL库
3.sql转换成dsl,曹大的elasticsql项目已经是一个很成熟好用的轮子了,lwe也大量借鉴了它的实现思路;没直接调用这个库的原因是想自己练手,同时后续增减功能也更加灵活
4.glog结果输出时使用了go-pretty库来表格化提交信息
- fmt 根据需求支持更多类型的转换
- es 按需增加对insert、update、delete ......