Skip to content
quinton-ptml edited this page Jan 18, 2023 · 56 revisions

Project RoundhousE (RH)

"Professional Database Versioning and Change Management"

RoundhousE is an automated database deployment (change management) system that allows you to use your current idioms and gain much more.

Low Maintenance Migrations. It seeks to solve both maintenance concerns and ease of deployment. We follow some of the same idioms as other database management systems (SQL scripts), but we are different in that we think about future maintenance concerns. We want to always apply certain scripts (anything stateless like functions, views, stored procedures, and permissions), so we don’t have to throw everything into our change scripts. This seeks to solve future source control concerns.

What Version Is YOUR Database On? We subscribe to the idea of versioning your database how you want. Many would not argue that you should version your code, and few would argue against versioning your code in a way that can lead back to a specific point in source control history. However, most people don’t really think of doing the same thing with your database. We say version it using the same version as your code base by pointing RoundhousE (RH) to one of your DLLs. Version it however you want by passing it a txt file or an xml file with an xpath to the version. Version it based on source control revisions. How sweet is it when you can version the database according to your current source control version?

“Because everyone wants to kick their database, but sometimes kicking your database is a good thing!”

What is RoundhousE?

RoundhousE (RH) is a database migrations engine that uses plain old SQL Scripts to transition a database from one version to another. RoundhousE currently works with Oracle, SQL Server (2000/2005/2008/2012/Express), Access, MySQL, SQLite and PostgreSQL. It comes in the form of a tool, MSBuild, and an embeddable DLL. While someone is working on a GUI, there is no visual tool at the current time.

RH is a sql migration engine. It is not a migrations framework. You can use whatever migrations framework you want with RoundhousE as long as it can generate SQL files.

See Features to learn what separates RoundhousE from other migration frameworks.
Release Notes

Databases Supported

RoundhousE integrates with the following database types:

  • SQLServer 2000 (database type is sql2000)
  • SQLServer 2012/2008/2005 including express editions (database type is sqlserver and also the default)
  • Oracle 9i/10g/11g (database type is oracle)
  • MySQL (database type is mysql) - New in v0.8.5!
  • PostgreSQL (database type is postgres) - New in v0.8.5!
  • SQLite (database type is sqlite) - New in v0.8.5!

Using RoundhousE

Getting Started
Configuration Options
Versioning Your Database
What File Encoding Should My Scripts Be?

Scripts

OneTime Scripts - Your Up folder scripts
AnyTime Scripts - The other folder scripts
Everytime Scripts - The permissions folder & specifically named scripts
Environment Scripts - Specifically named scripts
Token Replacement
Script Order - Shows the order in which different script types run

Running RoundhousE

RoundhousE Modes
Refresh Database - Speed up Your Development with RoundhousE in Visual Studio!

Get RoundhousE

Ways to get RoundhousE

Mailing List

There is a mailing list that encompasses all of the ChuckNorrisFramework - http://groups.google.com/group/chucknorrisframework

More Documentation

RoundhousE documentation definitely needs some love. With each release is a fully functioning sample for SQL Server. It shows off many of the features of RH. You can also see here for any updates: http://projectroundhouse.org

Until this thing is rocking check out the documentation here - https://github.com/chucknorris/roundhouse/tree/master/docs