On Thu, May 21, 2015 at 1:34 PM, Martijn van Oosterhout <kleptog@svana.org> wrote:
On Thu, May 21, 2015 at 12:39:01PM -0700, Andy Chambers wrote: > Hey All, > > I've started trying to use foreign key constraints in my schema but it > seems to make it more difficult to write unit tests that touch the database > because each test now requires more setup data to satisfy the foreign key > constraint. (I know some say your unit tests shouldn't touch the DB but the > more full stack tests I have, the better I sleep at night :-)) > > I wondered if anyone else has run into this problem and found a good > strategy to mitigate it. I thought I might be able to make these > constraints deferred during a test run since I have automatic rollback > after each test but even after "set constraints all deferred", I still got > a foreign key violation during my test run if the test tries to insert data > with a non-existent foreign key.
Foreign keys aren't deferrable by default, you have to create them that way...