0

Capybara で Cucumber を使用する場合、SQL データ ダンプからテスト データベース データをロードする必要があります。残念ながら、シナリオごとに 10 秒かかるため、テストが遅くなります。

次のようなものを見つけました: http://wiki.postgresql.org/wiki/Binary_Replication_Tutorial#How_to_Replicate

バイナリ レプリケーションは、SQL ファイルを使用するよりも高速になると思いますか?

復元を高速化するためにできることはありますか (構造ではなくデータのみを復元します)。

どのようなアプローチを試すことをお勧めしますか?

4

2 に答える 2

2

テストデータを「テンプレート」データベース(mydb_templateなど)に入れてみることができます。

テストシナリオを準備するには、次を使用してデータベースを削除DROP DATABASE mydbし、テンプレートに基づいて再作成しますCREATE DATABASE mydb TEMPLATE = mydb_template;

もちろん、 mydbを削除できるようにするには、たとえばtemplate0またはpostgresデータベースに接続する必要があります。

これは、ダンプをインポートするよりも高速である可能性があると思います。

このアプローチと、9.0で修正された大きな「テンプレート」に関するいくつかのパフォーマンスの問題に関するPGメーリングリストでの議論を思い出します。

于 2010-12-15T12:24:53.350 に答える
0

(構造ではなく、データのみを復元します)

COPYデータだけをインポートする場合は常に最速です。他の答えは、データベース全体の復元を扱っています。

于 2010-12-15T18:33:34.680 に答える