我构建了一个工具,用于为数据库生成关系感知的测试数据(无需 seed scripts)
Source: Dev.to

我想分享一个我一直在做的副项目,并希望社区给出诚恳的反馈。
这个想法来源于我经常遇到的一个问题——无论是在工作中还是在自己的副项目里。功能在开发环境里运行完美,测试也全部通过,一切看起来都很正常。但当同样的代码上线到生产环境时,问题就开始出现。大多数情况下,问题并不是代码本身,而是数据。
在开发和测试阶段,我们的数据集通常很小、很干净且不够真实。最初使用 seed 脚本还能解决问题,但随着应用的增长、模式的演进以及关系的日益复杂,这些脚本变得越来越难维护。每次集合或模式变化都要更新或重写脚本,既耗时又容易被推迟,甚至直接被跳过。
正是这种挫败感促使我开始构建 Drawline。
Drawline 的功能
Drawline 旨在让使用真实的测试数据变得更简单:
- 连接已有数据库或从全新项目开始
- 自动推断数据库结构和关系
- 使用可视化界面查看并微调模式
- 一键为开发或测试数据库填充真实、关系感知的数据
- 跟踪并恢复模式版本,类似代码的版本控制方式
目标是帮助开发者在测试、调试和演示阶段提前获得有意义的数据,而无需编写或不断维护 seed 脚本。
产品仍处于早期阶段,但我已经在自己的项目中使用并根据实际使用情况不断迭代。如果你感兴趣,可以访问 Drawline 了解更多。
我期待你的反馈
我分享这篇文章并不是推销,而是想向同样遇到类似问题的开发者学习:
- 你目前是如何处理 Web 应用的测试数据的?
- 这类工具你会真正使用吗,还是现有的工具和脚本已经足够?
- 什么因素会让你坚决拒绝使用这样的工具?
感谢阅读,期待你的任何反馈或想法。