Bit*_*der
6
database
sql-server
oracle
continuous-integration
integration-testing
我正在编写一些需要针对不同数据库产品阵列工作的代码.
- MySQL的
- Sql Server 2000到2008
- PostgreSQL的
- Oracle 9i和10g
- Jet 4.0(MS Access)
- MSDE
- Sybase Adaptive Server Anywhere
- Sybase Sql Anywhere
- 进步OpenEdge
作为持续集成构建的一部分,我们需要针对每个数据库产品运行一组通用集成测试.
我相信其他人不得不设置类似的测试环境,我想深入了解一些智慧 - 你最终使用的是什么策略,什么工作得好或者效果不好?
一些想法:
- 每个产品都有单独的虚拟机,每个虚拟机分配少量内存(在某些情况下更容易管理,或者我们对各个产品的设置略有不同).
- 所有产品都有几个虚拟机甚至是一个虚拟机(也许是用于postgresql和mysql的ubuntu盒子,以及用于剩余产品的windows 2008服务器机器) - 我喜欢一个或两个vm,因为这是一个更便携的运行测试的环境,即在公路/非现场,因为我的笔记本电脑可能会停止运行8或10个小型VM.
最后你是如何解决其中一些商业产品(即Oracle或Progress OpenEdge)的高成本,以及之前的版本仍然可用,即有免费的"单一开发者"版本,还是购买这些产品的更便宜的途径?