RoundhousEPresentation

Download Report

Transcript RoundhousEPresentation

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 | [email protected] | Twitter: ferventcoder