Professional Database Management with RoundhousE! Before We Start Questions – ask, but we may have to hold until end http://projectroundhouse.org Rob “FerventCoder” Reynolds C# MVP Technical Lead for Heartland Crop Insurance Active in OSS Chuck Norris Framework NuGet core team member Various contributions to other projects ferventcoder – twitter, gmail, you name it ferventcoder.com / Devlicio.us Recently given a new nickname: Inspector Gadget Past/Present Worked w/ a database of some sort How do you get changes? Does it get any easier? Why do we need migrations? Things invariably will change Very few systems require no changes over the years Different Environments 1. Local (Developers) 3 . Staging (Users/Proxies) 4 . Production (Users) 2 . Test (Testers) Let’s talk about Pain How do you apply a database change one time? How do you keep all environments in sync? Databases change – updates with new/changed tables, views, stored procedures, etc Databases store data Deleting data is bad. Don’t be a bad monkey! What is RoundhousE? And why is kicking my database a good thing? It’s easy to use Make your auditors smile Version your database It’s environment aware And that’s not even the cool stuff yet. What does it work with? SQL Server 2000/2005/2008/Express Oracle Access MySQL (just added, still dark) Soon: PostgreSQL SQLite ChuckNorris Suite of tools to help make developers more productive by scaffolding frameworks, etc RoundhousE makes db migrations easy http://groups.google.com/group/chuckno rrisframework Easy to use One required parameter (/d) for database Folder format Comes with samples Documentation is solid Make Your Auditors Smile Audit logging – who did exactly what when? Auditing changes by capturing all scripts and logs each time Version Your Database 1.0.0.0 – version? “What version is your database on?” Environment Awareness Scripts meant for an environment will only run in that environment Default is “LOCAL” Conventions / Customizable The cool stuff Don’t like RoundhousE as the schema? Change it Don’t like the “up” folder? Change it Don’t like xxxxx? Change it Integrate into development Also the cool stuff How do I get RoundhousE? gem install roundhouse cinst roundhouse nuget install roundhouse (for your local project) Source (git / svn) – projectroundhouse.org Old fashioned download – projectroundhouse.org Asking questions Documentation https://github.com/chucknorris/roundhouse/ wiki Chuck Norris Framework http://groups.google.com/group/chucknorrisf ramework @Roundhouse_DB #roundhouse_db @ferventcoder Questions? http://ProjectRoundhousE.org http://ferventcoder.com | ferventcoder@gmail.com | Twitter: ferventcoder