私はpgtapを使用して、次の方法でいくつかの遅延制約トリガーをテストしています。
- トランザクションを開く
- いくつかのテストデータを挿入する
- いくつかのステートメントを実行する
- を使用してコミットをシミュレートする
SET CONSTRAINTS ALL IMMEDIATE
- コミット後の条件のテスト
これは正常に機能しますが、トランザクションごとに1つのテストに制限されます。後でさらにデータを設定しようとすると、以前に延期されていた制約がすぐに実行されるようになりました。
SET CONSTRAINTS ALL IMMEDIATE
をアクティブにした制約の効果を元に戻さずに、の効果を元に戻すことは可能ですか?そうでない場合、私の唯一のオプションは、各テストを別々のファイルに移動することです。これは少し面倒です。