Why are developers not allowed to query Production databases?

Why are developers not allowed to query Production databases?

In a well-organized company, developers are not among those people. Furthermore, your company will fail PCI and SOX compliance if its developers can access production systems with this data. The reasons for this are obvious. A developer’s development work goes through many hands before it goes live.

How to move Dev database changes to production?

Obviously, if you are maintaining some kind of a source control, all the scripts for the changes that you do in the development environments should be maintained in the source control configuration tool. Once you are done with all the scripts/changes that you deem certified to move to next higher environment.

What should be included in a production database?

Security: Your production database may contain sensitive information like: Only those who absolutely need access to this information should have it. In a well-organized company, developers are not among those people. Furthermore, your company will fail PCI and SOX compliance if its developers can access production systems with this data.

How does a script update the production database?

These scripts will upgrade the current production database to the new version in development. Your build process can restore a copy of the production database into an appropriate environment and run all the scripts from source control on it, which will update the database to the current version.

Can a developer have access to a production system?

Yes. Developers should have access to production systems. At my company we have four teams that deal with production databases. They are: Developers, who design and write the schema and code for the databases. They have no access to the databases in production.

Which is better, a production database or a snapshot?

For most development purposes, mirrors or snapshots of the production database will be adequate, and probably better than the live production database. If you are doing anything involving integration then you will want stable database environments where you can control what’s in them.