arrow_back How would you implement the synchronization of the working base with the developer base?

1 vote
There is a Laravel backend with an admin panel. Every day goods are added there, new orders appear.

We developers used to be able to use irrelevant dumps. We simply created an artisan command that would fill in the tables of currencies, countries and other little things. But now the project is already in progress and it is important for us to work with more or less actual data. How can we implement this in a clever way?

Right now I have this algorithm in my head:
- Create a Root on the server, which would run the command to create a dump of the entire database and archive it. This task will be run by atisan command from the local machine.
- create a second artisan command on the local machine, which would download this dump from the right address using server level identification and then deploy the dump to the local machine.

How else would one do it?

2 Answers

1 vote
IMHO you don't need all this. Database: Seeding solves the problem of filling in the data. In a perfect world, developers shouldn't have access to the product database at all. And you suggest that dozens of coders should be given all users of the service, all orders, addresses, and a bunch of other personal and business-critical information? Also keep it up to date.

1 comment

you're right hypothetically. But this is a slightly different situation. We need live data and this is our project. Not counting the investors.
1 vote
You can also start using the power of some CI/CD - Bitbucket, Gitlab etc. Let it do all the dumping tasks, you just pull it off as needed.
At the same time, it will allow you to manage the test servers, rolling them up to date (almost) snapshot of the database, if you have / will appear.