4 个版本
0.1.4 | 2024 年 5 月 9 日 |
---|---|
0.1.3 | 2024 年 5 月 9 日 |
0.1.2 | 2024 年 4 月 27 日 |
0.1.1 | 2024 年 4 月 27 日 |
#612 in 数据库接口
12KB
112 行
DRY SQL
CLI 工具,用于测试运行你的 SQL 脚本
背景
当我在 CI 管道中设置一些应该在另一个环境中执行的数据库迁移时,创建了此工具。迁移应该应用于主分支。在应用程序部署之前,必须在拉取请求中成功应用特定的迁移。
如果团队严格执行数据库迁移,那么迁移问题将最小化或消失。然而,毕竟开发者也是人。有时由于人为错误,一些迁移脚本可能无法执行。因此,有必要验证尚未提交的迁移脚本。
虽然一些 SQL 脚本检查器可以检查 SQL 语句中的错误,但它们不能验证脚本是否会成功执行。即使脚本通过了检查器,也可能有几种原因导致 SQL 脚本无法执行
- 数据相关问题:脚本在执行过程中可能遇到意外数据条件或约束,而这些条件或约束在检查过程中并未考虑。
- 数据库架构更改:如果在检查过程之后数据库架构发生了更改,则脚本可能不再与更新的架构兼容。
用例示例
最常见的情况是在管道中验证迁移 SQL 脚本:)。当然,你可以在其他任何地方使用它来模拟 SQL 脚本。
使用方法
在终端
如果你想要测试运行一个 SQL 文件。
dry_sql --host <host> --port <port> --user <username> --password <password> --file <path/to/your/sql/script>
如果你想要在一个文件夹中测试运行多个 SQL。
dry_sql --host <host> --port <port> --user <username> --password <password> --dir <path/to/your/sql/script/foder>
限制
目前,此工具仅支持 Postgres SQL。其他支持将陆续推出。
堆栈
用 Rust 编写。
依赖项
~9–19MB
~264K SLoC