Hacker News new | ask | show | jobs
by gregjor 1944 days ago
For several customer projects I periodically create a new dev database from a production snapshot on AWS RDS. Then I run an anonymizer script over it to change names and email addresses and phone numbers and so on, so the dev data looks real but doesn’t refer to real people. For one big database the anonymizer script can also cull data, so I can set maximum 1,000 customer records (chosen at random) and remove all related rows. The result is small enough to dump for local development.

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.

1 comments

May need to test application that speed or latency etc. with 100k or more than so how do you set records that exception?
That kind of testing would not happen on a developer laptop. I normally have a staging environment that duplicates production, including the database. The number of rows in a relational database shouldn’t affect app speed or latency at 10k vs 100k rows. I would expect the number of rows to affect performance logarithmically, if at all.