Archive for April, 2010

Version control best practices: to freeze or not freeze?

Friday, April 30th, 2010

I’ve been surfing around the interweb trying to find educated opinions on a database version control question I’ve been batting around in my head. Here’s the situation: you’re the Release Manager. You’ve got a project in one of your Development environments that’s coming to a close for a new version. Most of the updates have been checked-in and you are getting ready to promote this version from Development to the QA environment for testing. Your database is under Oracle version control using dbMaestro TeamWork.

Now, the question: how can we make sure all our updates are in the version control, and how do we stabilize the SCM? A couple of programmers are still making updates and the DBA is already making changes to support the next version in development. This is a situation we’ve been asked about by our customers and prospects on more than one occasion. This reminds me of a saying a good friend of mine uses on occasion… “It’s like herding cats“.

We at dbMaestro have been contemplating a new product feature to help solve this. The feature (provisionally called “Freeze”) would allow you to “Freeze” a schema such that no check-outs will be allowed; check-ins will be allowed to make sure we can catch any straggling updates. One of my colleagues is actually also advocating a “Force check-in all” option which will immediately commit any open (checked-out) changes.

Once everything is checked-in, we can save a schema-version that has all the changes we want as a baseline version, at which point we can use dbMaestro Deployment Manager to deploy this version in it’s entirety to QA for testing. We can also “Unfreeze” the development environment to allow everyone to continue their work on the next release or bugfix.

We’d be real happy to get some feedback on this issue, as we’d like to integrate this feature into one of our next releases. Feel free to leave us a comment – we’d really appreciate it.

  • Share/Bookmark

Put everything in Source Control, huh???

Tuesday, April 27th, 2010

I was reading through Steve Berczuk’s blog on CM Crossroads the other day and I found an interesting link to a short article by Diomidis Spinellis. In short, Mr. Spinellis expounds the virtues of having EVERYTHING in your project stored in the source control repository. He mentions items like the documentation, build scripts, test cases, artwork, and even libraries – all should be put into SCM.

I must say the I agree whole-heartedly. SCM is a great way to make sure everything is tracked, all changes are logged and a full audit and history are available for future use, e.g. if you need to go back to a previous version or do an impact analysis on which objects will be changed with respect to a particular bug-fix or dot release.

The only thing I’m missing in the original article is any mention of database source control… after all, your schemas and lookup data are just as much a part of your application as any of the other items mentioned there. I think the article is a validation of our philosophy with respect to database source control, deployment management and our product dbMaestro TeamWork.

  • Share/Bookmark

TeamWork 2.7.0 has been released!

Sunday, April 11th, 2010

We are very happy to release a new version of dbMaestro Teamwork™. Two of the more interesting features in this release are a new Compare & Merge user interface and a multi-schema login support.

The new Compare & Merge user interface enables developers and DBAs to analyze coding changes with great ease, and have all of the required information– source code, destination and baseline, available at a glance. The new merge engine is capable of performing auto merges, and deal with complex conflicts with unparallel results – instead of typing and copy-pasting, just click “resolve conflict” and get it done !

The new multi-schema login support enables users to login to several schemas at the same time, and quickly browse through them when working on large multi-schema projects, or when deploying changes between managed environments.

Other improvements include extended linkage to SCMs – now enabling linkage of schema versions to SCM labels, and allowing change-sets to be re-linked or altered, by privileged users.

Next release, TeamWork V2.8, is due at the end of May 2010. Follow this blog for more information about it.

Yaniv

  • Share/Bookmark