さまざまなデータベース製品に対して動作する必要があるコードを書いています。
- MySql
- SQL Server 2000 ~ 2008
- PostgreSQL
- オラクル 9i & 10g
- Jet 4.0 (MS アクセス)
- MSDE
- Sybase Adaptive Server Anywhere
- Sybase Sql Anywhere
- プログレス OpenEdge
継続的統合ビルドの一部として、各データベース製品に対して実行する必要がある汎用統合テストのセットがあります。
他の人も同様のテスト環境をセットアップする必要があったと確信しています。私はその知恵の一部を利用したいと思います-最終的にどの戦略を使用するか、何がうまく機能し、何がうまく機能しなかったか?
いくつかの考え:
- 製品ごとに仮想マシンを分離し、それぞれに少量のメモリを割り当てます (特定のシナリオでは管理が容易で、個々の製品のセットアップがわずかに異なる場合)。
- すべての製品に対して数台の仮想マシンまたは 1 台の仮想マシン (つまり、おそらく postgresql と mysql 用の ubuntu ボックス、残りの製品用の Windows 2008 サーバー マシン) - 私は 1 つまたは 2 つの vm が好きです。テストを実行するための環境、つまり、移動中/オフサイトの場合、私のラップトップはおそらく 8 または 10 個の小さな VM を実行して停止する可能性があります。
最後に、Oracle や Progress OpenEdge などの一部の商用製品の法外なコストにどのように取り組んできましたか? また、以前のバージョンはまだ入手可能ですか?