Do you get a sql dump? how often do you get updated dumps? Is the data anonymized at all? For really large databases do you trim the tables?
If you don't use database dumps, what method do you use to generate data to develop against locally?
In actual use almost all of the devs I work with connect to a dev database in the cloud, rather than run locally.
I can’t count how many deployments I’ve seen delayed and broken because devs have different versions of tools on their laptop, or different environment settings, paths, libraries, etc. I discourage local development for that reason and push everyone to use a dev system (cloud server) that is a known good copy of production.
I think it is a better approach to push changes from dev into test and then into production. Data might come back the other way but it is easier to deal with in a reviewable and selectable format as needing big dumps of it is specific to certain tasks and by no means most tasks. Developers will have different structures locally while they develop and once given the tools to refactor databases they do so. I think database dumps are a smell of a broken change management system every time I have seen them.
Anyway, our staging and development database had crap data. I asked if we could get production data in staging and they said no.
Mongo dumps are much easier to do so i do dump mongo onto local.
We don't have DEV in local laptops though. All data is still contained in a local data center.
One colleague spent a few weeks pruning a db snapshot down to something minimal ish so our dumb old suite of regression tests with uncontrolled data dependencies could still pass. One off manual activity.
It’s easy to generate fake data that approximates the characteristics of your real data set. You can also create a CI/CD test environment that allows developers to test against the database without taking possession of the database. Sure, a malicious developer could use such a system to exfiltrate the database by running malicious code, but that’s no different than allowing the same devs to push code to production machines