在测试或预发布环境中使用生产级数据库可能会很痛苦——数据量大、速度慢,并且往往不符合隐私法规。如果您曾经需要一个干净且保持引用完整性的数据库子集,而不想编写复杂的 SQL 脚本,那么您一定要了解 Jailer。
<p>什么是 Jailer?</p>
Jailer 是一个强大的开源工具,具有以下功能:
- 从关系数据库中提取一致的数据子集。
- 维护引用完整性(它会自动跟踪外键)。
- 创建测试数据集、迁移数据和匿名化敏感字段。
<p>它支持 PostgreSQL、MySQL、Oracle、SQL Server、SQLite 等多种数据库。</p>
<p>为什么您应该使用它</p>
<pre><code> 不再需要编写复杂的 JOIN SQL 来提取相关记录。
非常适合测试数据的提供,尤其是对于复杂的模式。
在数据隐私环境(如 GDPR、HIPAA)中,当不允许进行完整导出时表现良好。
通过避免庞大的测试数据库,帮助加快 CI 管道的速度。
</code></pre>
<p>一个简单的用例:提取客户及其订单</p>
假设您想提取来自特定国家的所有客户,并包括他们所有相关的订单、项目和产品——但不包括其他内容。
<p>使用 Jailer:</p>
- 选择客户作为主题表。
- 应用条件,例如:
customer.country = 'Germany'
- Jailer 将自动通过外键追踪相关的订单、订单项、产品等行。
- 将结果导出为 SQL 或直接复制到另一个数据库。
<p>无需手动编写连接。没有破损的引用。没有头疼的问题。</p>
<pre><code> 谁应该使用 Jailer?
- 需要从生产环境获取测试数据的 QA 工程师
- 迁移数据集的数据工程师
- 设置真实预发布环境的 DevOps 团队
- 需要控制和私密数据导出的合规团队
</code></pre>
<p>资源</p>
- GitHub: Wisser/Jailer
- 官方文档: https://wisser.github.io/Jailer/
<p>最后的想法</p>
Jailer 可能不够华丽,但对于任何处理大规模关系数据的人来说,它都是一颗隐藏的宝石。如果您关心数据的完整性、速度和简单性,不妨试试。您的 QA 团队(以及未来的您)会感谢您。
返回首页
最新
Wrkspace 是开发人员的终极生产力工具,旨在简化并提升您的工作流程。每个项目只需一次性设置,Wrkspace 自动化了启动本地环境的整个过程,让您可以专注于最重要的事情——编码。
使用 Wrkspace,项目之间的切换从未如此简单。体验启动时间提高 300%,优化您的工作流程,消除重复任务。与 Docker 集成,启动您的引导脚本,使用您的编辑器打开文件,并通过单击即可启动您的网页。
改变您管理本地开发环境的方式——Wrkspace 将彻底革新您的生产力。