.SHARP{C#DERS}

.net development, server management, and related topics

Comments (2) -

  • Rob

    12/2/2013 11:33:13 AM | Reply

    One of the reasons I wasn't a fan of Tarantino and that we went our own way (RoundhousE) was that you had to specify an action, like Create, which isn't very idempotent. If the intent in the end was to have a database, the tool should do the creation of the database and then run the migration scripts.

    Another was the the way it did versioning, it wasn't global. So you could not look across all environments and say immediately whether 2 in Test was the same as 2 in Prod. In many cases it would be 1 in Prod and 5 in Test being the same version.

    And one of the biggest reasons was maintenance of scripts. Tarantino never treated views, sprocs, functions, etc as first class citizens that could be maintained like the rest of the source code. This means that to figure out why a line changed in a sproc you would have to look across a bunch of scripts in your Create/Update folders. That's why we have multiple folders.

    In many ways we liked the way Tarantino worked (with plain old SQL Scripts as a migration engine, not a framework), but we had ideas that were slightly different than the way it worked (the aforementioned) and the maintainers were not moving in that direction. I also still have an outstanding patch to make it work with MSBuild (still sitting there).

    Nearly everything you have written about above, RH already solves. Probably everything. Sorry the options got to you, there is only one required option when running RoundhousE. The rest is convention over configuration (where the options have sensible defaults but can be configured).  

    Hopefully you bring some of these ideas to Database Deployer.

  • Jeffrey Palermo

    12/2/2013 5:32:03 PM | Reply

    Great article.  We haven't been very good at maintaining Tarantino, and it had gotten bloated. I like what you have done. You have kept the spirit of the tool. I would like to help you promote it.

Pingbacks and trackbacks (1)+

Loading