Best Practices For Creating/Importing Local Development Data?
So we've got a super-complex database with 50+ tables and a couple of million rows - and we've been trying the "one remote development database that all our devs connect to," with decreasing results. (Our data contains no sensitive information.)
So it looks like our options for creating workable test data for local development are:
-
Run all migrations with test data seeders, which a) would be a pain to write test data for 50+ tables, and b) we already have like 100+ migrations so even squashing them seems like it could be a bit slow.
-
Run all migrations with a subset of data from production, where we save Eloquent queries (like "select data in three sample categories only") into a file format we can use as a seeder - which a) would be its own project, converting/automating processes to get the Eloquent data to feed into seeders and preserve foreign key values and b) also the migrations still seem a bit clunky.
-
Do what Ziff-Davis does and create an export of production data that we import into the database (again, no sensitive data in this set of tables), but a) that imported data set is huge, and b) if the data is changing nightly, that could create potentially weird issues when developing (this category was active yesterday, it's not today, and even with correctly written tests it could just be odd).
So for those who have actually run into this problem: how do you personally solve it? Is there some better option I've missed?
Please or to participate in this conversation.