【发布时间】:2009-02-26 18:43:23
【问题描述】:
我正在寻找一个好的、免费的工具来生成样本数据,以便加载到测试数据库中。以此类推,可以为任何 RDBMS 生成“lorem ipsum”文本。我正在寻找的功能包括:
- 为现有表定义生成数据的灵活性。
- 能够生成大小数据集(> 100 万行或更多)。
- 以 SQL 脚本格式(
INSERT语句)或适合批量导入的平面文件格式(通常更快)生成。 - 便于编写脚本的命令行界面。
- 可扩展、开源、以动态语言编写(这些都是不错的功能,但要求不高)。
PS:我确实在 StackOverflow 上搜索了一个重复的问题,但没有找到。如果有的话,我会很感激得到一个指向它的指针。
感谢大家的精彩回复!我应该修改我的要求,即我使用 Mac OS X 作为我的主要开发环境,而不是 Windows(尽管我确实说过命令行界面是可取的,并且 实际上 排除了 Windows)。不过,特定于 Windows 的建议无疑会对这个问题的其他读者有用,非常感谢。
这是我的结论:
- 生成数据:
- PHP Web 应用程序界面,而不是命令行
- 仅限生成 200 条记录(或支付 20 美元购买许可以生成 5,000 条记录)
- RedGate SQL 数据生成器
- 不是免费的,售价 295 美元
- 需要 Windows、.NET、SQL Server
- Visual Studio 2008 数据库版
- 需要 Windows
- 需要昂贵的 MSDN 或 ISV 订阅
- 横幅数据检测
- 不是免费的,售价 595 美元
- 需要 Windows (?)
- 不支持 MySQL (?)
- GUI,不是命令行或脚本
- Ruby Faker 宝石
- 使用 ActiveRecord 进行批量数据加载太慢了
- 超级棒
- 主要是负载测试工具,内置随机数据生成器
- 不过使用起来非常简单
- 总体来说是一款不错的亚军工具
- Databene Benerator
- 满足我需求的最佳解决方案
- XML 脚本,与 DbUnit 兼容
- 开源 (GPL) Java 代码
- 命令行使用
- 通过 JDBC 直接访问许多数据库
【问题讨论】:
-
这在本质上是相似的,并且本身就很有趣:en.wikipedia.org/wiki/Fuzz_testing
-
GenerateData 是 php 应用程序。您可以破解代码以生成所需的任意数量的数据记录。对于 V2.x。不知道3.x会不会改license。
-
也可以查看Data Constructor