Nobody Can Onboard Without a Working Local Database

SeedQL_Admin · · 1 comment

Seeding scripts break for a boring structural reason: nothing runs them. CI does not run the seed script, because CI has its own fixtures. Production does not, obviously. Existing engineers do not, because their local database was seeded fourteen months ago and has been carried forward since. So the only thing exercising that code path is onboarding, which happens a few times a year. The script is broken for months before anyone finds out, and the person who finds out is the one least equipped to fix it. Meanwhile the schema moved. Columns were added with NOT NULL and no default. Tables were renamed. A new required foreign key appeared. Every one of those changes broke the script, and the migration that caused it passed all its tests, because the seed script is not in the test suite.

Discussion · 1

Loading discussion…