Get Your Database Under Control
Upcoming SlideShare
Loading in...5
×
 

Get Your Database Under Control

on

  • 117 views

Developers don’t even question the need for source control as part of their application life cycle management. But DBAs and database developers just don’t look at their databases in the same way ...

Developers don’t even question the need for source control as part of their application life cycle management. But DBAs and database developers just don’t look at their databases in the same way as code. However, if you want to get good coordination between your application code and database, if you want to start to automate your database deployments, you need to treat your database like code. This session will demonstrate different mechanisms for getting a database into source control in order to begin to control your database in the same way you control your code.

Statistics

Views

Total Views
117
Slideshare-icon Views on SlideShare
112
Embed Views
5

Actions

Likes
1
Downloads
1
Comments
0

1 Embed 5

https://www.linkedin.com 5

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Get Your Database Under Control Get Your Database Under Control Presentation Transcript

    • Grant Fritchey | Red Gate Software Team-based Development with Version Control
    • Get in touch Grant Fritchey scarydba.com grant@scarydba.com @gfritchey 2
    • Goals • Understand the value of version/source control for databases • Learn the tools, standards, patterns and best practices needed to manage a database from source control • Identify the necessary flow within a team needed to develop a database with source control 3
    • HOW MANY OF YOU USE VERSION CONTROL FOR YOUR APPLICATION CODE? C#, ASP.NET, Javascript, VB.NET, etc. 4
    • HOW MANY OF YOU USE VERSION CONTROL FOR YOUR APPLICATION CODE? database 5
    • Developers who refuse to use source/version control should be fired, simple as that. 6
    • Isn’t this too much trouble for my crappy experimental program? 7
    • Use source control because neither you nor your developers are perfect. 8
    • There are no excuses where you should not use it. 9
    • If it’s not in source control, it doesn’t exist. 10
    • “…your database should always be under source control right next to your application code.” 11
    • 12
    • Reducing Risk 13
    • You’re using version control 14
    • You’re using version control 15
    • Use Something 16
    • GETTING STARTED WITH DATABASES IN VCS Demo 17
    • Additional Reasons for Source Control • Backup & Restore • Undo • Audit changes • Sandbox • Branching/Merging 18
    • Rules for Database Development 19 Never use a shared database for development. Always Have a Single, Authoritative Source For Your Schema. Always Version Your Database.
    • Dedicated or Shared Databases? 20
    • Shared databases are not wrong 21
    • The Ideal • Each developer has a dedicated environment with a copy of the schema and minimal data. • A shared integration environment where all developers’ changes are merged, available for developer testing. 22
    • Naming Standards • Usually vary by company • ISO 1179 • Be consistent • Use tools for enforcement (SQLCop) • Document these lightly and JIT 23
    • Style Standards • Vary by individual • Make code more readable. • Use tools to re-format code to your liking. – SQL Prompt – SSMS Tools Pack – Others 24
    • Teamwork 25
    • Teamwork • Communication – Team members need to be aware of (easily) what others are doing. • Coordination – Teams need to work in a way that complements each other. 26
    • THE FLOW WITHIN TEAMS Demo 27
    • Automation is Best 28
    • Use Automation • Development systems and tools need to work for the team, not against them. • Many IDEs and tools work well in team environments, if you configure them. 29
    • Get All Your Code • Object DDL • Assembly code • Security code • Configuration settings • Jobs • Lookup data 30
    • AUTOMATION Demo 31
    • Best Practices • Use version control for all code (including tests) • Commit early, commit often • Use tools – If it’s hard, people don’t do it • Train people • Build often 32
    • Automation
    • Automation deployment package
    • deployment package 1 2 3 Back to Development FAIL FAIL FAIL
    • References • http://stackoverflow.com/questions/115369/do-you-use-source-control-for- your-database-items • http://www.codinghorror.com/blog/archives/001050.html • http://www.codinghorror.com/blog/2008/02/get-your-database-under-version- control.html • http://www.ssw.com.au/ssw/Standards/Rules/RulesToBetterSQLServerDatab ases.aspx • http://odetocode.com/blogs/scott/archive/2008/01/30/three-rules-for- database-work.aspx • Check in early, check in often - http://www.codinghorror.com/blog/2008/08/check-in-early-check-in-often.html • http://betterexplained.com/articles/a-visual-guide-to-version-control/ 36
    • 37 A big thank you to our sponsors Gold Partners Silver & Track Partners Platinum Partners
    • 38 A big thank you to our sponsors Gold Partners Silver & Track Partners Platinum Partners
    • Get in touch Grant Fritchey scarydba.com grant@scarydba.com @gfritchey 39