In this post I describe some decision that you need to make when putting your database development under source control. “Commit a SQL script to a local repository and the push to a central repository” sounds easy. In fact the all process should be easy. The SQL script is the fundamental resource of the database source control process. The script can represent two perspectives: The desired definition of the database object (table, view, stored procedure, function…), a.k.a state-based approach; The desired …
Month: February 2016
Nowadays the question “Why put database under source control?” no longer makes sense. Probably “How to put database under source control?” is now the correct question. But before answering the second question let me answer the first identifying the reasons that led me/us team to invest on database source control: Is the first step of database automation In other words, if you want to assemble a database deployment pipeline you should put your database changes into a source control system; Keep …
The first question I thought was: if applications development includes “by default” concepts as source control, continuous integration and continuous delivery, why not database development? As Len Bass said in a conference: “A script is just a program”. All database changes can be scripted, so what is so special about databases? The answer is simple: data, specifically data persistence. One of my favorite answers was given by Grant Fritchey: “Deploying databases has the inherent problem of retaining the data after the …