I recently had the opportunity to attend Red Gate’s “SQL in the City” event in Seattle. As an Enterprise DBA, Architect and SQL Developer I had used Red Gate’s tools extensively for a number of years. I always loved them. However, after transitioning to my current position as an ALM consultant, I didn’t really have much need for the tools other than my deep love of all things SQL. Recently, that has all changed and I find myself looking to Red Gate for something that a large percentage of my clients are having serious challenges with; bringing their databases into the ALM fold.
Red Gate is empowering their customers by helping to bring database development in line with the rest of their ALM practices. Red Gate is doing this with their line of Database Lifecycle Management (DLM) tools. Although DLM is not a new term, Red Gate is bringing a new twist to it. It’s an agile twist with a modern ALM approach. Red Gate’s message with their new DLM tools is “Ship often, ship safe.” The message lines right up with an agile approach to software development. Part of the message invariably makes DBAs nervous, it’s the “ship often” part. Classic DBAs prefer the “slow and steady” or even just “slow” without the “steady” approach. Changing the database schema every couple of weeks is typically not seen as a desirable practice. I know it still makes me a bit nervous, but along with the ship often message is the ship safe. Safe is a huge word. Safe to me means that the changes will not break the database, but it also means that the changes will not paint me in to a corner from an architectural standpoint. There is still no substitute for good design and architecture, the new tools do not change that. What they do change is the visibility to database modifications and the ability to deploy database changes granularly in a controlled fashion.
A cool new tool that is still in Beta is called Lighthouse. Lighthouse enables the DBA, at a glance, to see if a database has been modified by detecting database drift.
Although the ability to detect changes has been around for a while with schema compare tools, Lighthouse monitors and reports without having to run a comparison. It displays the status of the database environments in an easy to read web environment with links to detailed information about the schema changes. The drift can be approved and become the new baseline or provide the necessary information to reverse the changes.
SQL CI and SQL Release
Who would have thought? Continuous integration? For databases? Crazy right? Red Gate’s SQL CI provides the mechanisms to accomplish just that. SQL CI functionality can be used to create a continuous integration build for your database projects using whatever build system you are currently employing, like TFS, Jenkins, Bamboo or Team City to name a few. The CI environment can also be integrated with a release management infrastructure through a set of PowerShell cmdlets provided by Red Gate’s SQL Release feature. SQL Release works along with other Red Gate tools, SQL Compare and SQL Source Control to enable the automated build and deployment of database changes.
I have been a fanatic advocate for organizations to start treating databases just like they do their code, because that is what databases are – code. A critical part of that treatment and writing reliable code is unit tests. A new offering by Red Gate called SQL Test provides a graphical interface for the open source tool tSQLt. tSQLt provides a mechanism to make unit testing databases much easier than ever by supplying a number of objects that allow the database developer to create reliable unit tests to validate all facets of the database. These objects include fakes, assertions and exception validation and many more.
I know this post may have ended up sounding like a Red Gate commercial, that really wasn’t my intention and Red Gate doesn’t give me a kick back or anything. I am just excited to see new tools being developed by a leader in database management software that is effectively addressing this difficult aspect of application lifecycle management. They do this by making the data tier a first class ALM citizen. The tools provided enable unprecedented visibility into the status of the database as well as management tools that make building and deploying database changes easier than ever. In the near future look for more blogs on this subject as I delve into the new tools, compare them to other offerings and put them through their paces.