DEV Community

Jay Ruhnke
Jay Ruhnke

Posted on

Why are DBAs not more like developers?

What methods do you use to manage database metadata?

How you keep it under version control?

How do you deploy new instances of the database (ex. Dev, Pre-Prod, Production) with Dump/Load or baseline SQL with bootstrap data?

Top comments (1)

Collapse
 
nickfotopoulos profile image
Nick Fotopoulos

DBA's love them some silos! xD

One option is to use an Object Relational Mapping, code first model for your applications. So long as you live with the constraints of the ORM you can make your application very database agnostic. Of course in the real world most applications run into issues that require you to work around the ORM at times. So long as you are careful about how implement those parts you can make migrating and supporting other databases much easier.

If you are living with existing infrastructure that you can't hope to change you can use a SQL source control tool like RedGate or ApexSQL's SQL Source Control tool. I currently use it to source control tons of database first applications, and have been thinking about attempting to link the system databases and add them also, so I can capture server level metadata like Jobs, and server settings.

An alternative to that would be to create a git repo, then create a job that scripts out all of the stuff that you want to capture on a regular basis and checks it in at regular intervals.