On Thu, May 21, 2015 at 1:34 PM, Martijn van Oosterhout <kleptog@xxxxxxxxx> wrote:
Foreign keys aren't deferrable by default, you have to create them thatOn 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.
way...
Ah that's what I was missing. Thanks!
--
Andy