How do you make large databases available to developers in their local machine? do you take recent n number of records from tables satisfying all foreign key requirements and then dump it into an sql file?

Jailer[0] might be worth a look.

From the project's website[1]:

Jailer is a tool for database subsetting, schema and data browsing. It creates small slices from your database and lets you navigate through your database following the relationships.. Ideal for creating small samples of test data or for local problem analysis with relevant production data.

[0] https://github.com/Wisser/Jailer

[1] https://wisser.github.io/Jailer/