Re: Unit tests and foreign key constraints
Andy Chambers <achambers.home@gmail.com>
From: Andy Chambers <achambers.home@gmail.com>
To: Martijn van Oosterhout <kleptog@svana.org>,
Andy Chambers <achambers.home@googlemail.com>,
pgsql-general@postgresql.org
Date: 2015-05-21T21:41:21Z
Lists: pgsql-general
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... > Ah that's what I was missing. Thanks! -- Andy