4个版本
0.2.1 | 2024年1月12日 |
---|---|
0.2.0 | 2024年1月9日 |
0.1.2 | 2024年1月4日 |
0.1.0 | 2023年12月30日 |
#275 in 数据库接口
290KB
642 行
PgBurst
从您的postgres数据库中提取函数、视图、(复合或枚举)类型、序列和触发器到文件中以便编辑。
简介
虽然 pgcli 在选择和操作数据以及编辑偶尔的函数方面很棒,但尝试编辑复杂数据库中许多不同模式中的触发器、函数或视图时,人们会很快感到迷茫。
虽然有很多优秀的用于编辑postgres数据库的GUI,但它们往往会接管整个工作流程,这对于使用 i3、lf 和 nvim(或 awesome、ranger 和 helix 等)等设置的人来说可能会很糟糕。
pgburst
将SQL文件从您的数据库中提取出来,组织成按模式类型(函数、触发器、视图)组织的文件夹。然后,使用您自己的选择进行编辑。
安装
Cargo install pgburst
Archlinux
yay-S pgburst
功能
您可以使用
- 提取所有函数、视图、(复合或枚举)类型、序列和触发器,或者
- 所选模式的,或者
- 其SQL定义包含特定文本的
等,并使用您最擅长的流程编辑这些文件。
下面的gif显示了如何仅从包含单词“sanity”注释的示例数据库“dvdrental”中提取一个函数
监视文件更改,"-w"标志
pgburst
还可以监视文件以更改。
标志 -w
启动pgburst,以便在文件保存后立即将其执行到数据库中。
用法
pgburst[选项] <DB_NAME> [OBJECTS_FILTER]
参数
<DB_NAME> 连接到数据库的名称
[OBJECTS_FILTER]... 仅导出指定类型的项目(列表项类型由空格分隔)[可能值:function、trigger、view、type、sequence]
选项
-b, --burst-folder <BURST_FOLDER> 存储SQL文件的位置。默认为 .
--pg-user, 连接到数据库的用户(默认为 postgres)
--pg-host, 连接到的主机(默认为 localhost)
-s, --schema-filter <SCHEMA_FILTER> 仅导出此模式或模式列表的项目(此选项可以重复使用以导出多个模式)
-n, --name-filter <NAME_FILTER> 仅导出包含指定文本的项
-f, --find 仅导出其SQL表示包含指定文本的项
-w, --watch 监视爆发SQL文件变更并对数据库执行它们(默认:false)。完成后使用C-c取消。监视不覆盖文件的删除或添加(尚未?)!
未来
下一步
[x] 使连接字符串可配置(用户、主机) v0.1.2 [/] 添加类型导出 [v0.2.0,无范围或框类型] [x] 添加序列导出 v0.2.1 [ ] 在注释中添加有关序列的信息 [ ] 添加表导出 [ ] 添加更新/插入脚本 [ ] 添加通过等待模式和打开文件进行查询的模式 [ ] 添加角色和权限导出 [ ] 对文件删除做出反应(可能还包括文件的添加?)
依赖关系
~8–18MB
~261K SLoC