Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Database Refactoring With Liquibase

5,346 views

Published on

Let's bring the best of Agile thinking from software development and apply it to our databases as well. Liquibase is a great tool to help.

Published in: Technology, News & Politics
  • Really missing a small example! : (
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Database Refactoring With Liquibase

  1. 1. DATABASE REFACTORING WITH Tim Berglund March, 2009 Monday, March 16, 2009
  2. 2. YOU HAVE A DATABASE IN YOUR LIFE Monday, March 16, 2009
  3. 3. YOUR DATABASE HAS A FUTURE Monday, March 16, 2009
  4. 4. CAN IT ADAPT? Monday, March 16, 2009
  5. 5. HAS IT BEEN EMBALMED? Monday, March 16, 2009
  6. 6. Monday, March 16, 2009
  7. 7. WON’T DIE Monday, March 16, 2009
  8. 8. NOT REALLY ALIVE Monday, March 16, 2009
  9. 9. CURSES THE DBA WHO CHANGES IT Monday, March 16, 2009
  10. 10. WE WILL BREAK THE CURSE Monday, March 16, 2009
  11. 11. EVOLUTIONARY DATABASE DEVELOPMENT Monday, March 16, 2009
  12. 12. EVOLUTIONARY DATABASE DEVELOPMENT Monday, March 16, 2009
  13. 13. EVOLUTIONARY DATABASE DEVELOPMENT REFACTORING Monday, March 16, 2009
  14. 14. EVOLUTIONARY DATABASE DEVELOPMENT REFACTORING EVOLUTIONARY DATA MODELING Monday, March 16, 2009
  15. 15. EVOLUTIONARY DATABASE DEVELOPMENT REFACTORING EVOLUTIONARY DATA MODELING AUTOMATED TESTS Monday, March 16, 2009
  16. 16. EVOLUTIONARY DATABASE DEVELOPMENT REFACTORING EVOLUTIONARY DATA MODELING AUTOMATED TESTS SOURCE CONTROL Monday, March 16, 2009
  17. 17. EVOLUTIONARY DATABASE DEVELOPMENT REFACTORING EVOLUTIONARY DATA MODELING AUTOMATED TESTS SOURCE CONTROL SANDBOXES Monday, March 16, 2009
  18. 18. REFACTORING Monday, March 16, 2009
  19. 19. REFACTORING Monday, March 16, 2009
  20. 20. REFACTORING A disciplined way to make small changes to your source code to improve its design, making it easier to work with. Monday, March 16, 2009
  21. 21. REFACTORING Not adding features! Monday, March 16, 2009
  22. 22. REFACTORING Not fixing bugs! Monday, March 16, 2009
  23. 23. REFACTORING Opportunistically improving design to accommodate change. Monday, March 16, 2009
  24. 24. DATABASE REFACTORING A simple change to a database schema that improves its design while retaining both its behavioral and informational semantics. Monday, March 16, 2009
  25. 25. EVOLUTIONARY DATA MODELING Monday, March 16, 2009
  26. 26. EVOLUTIONARY DATA MODELING NOT TRYING TO “GET IT RIGHT UP FRONT.” Monday, March 16, 2009
  27. 27. EVOLUTIONARY DATA MODELING MAYBE SOME BIG THOUGHTS AT FIRST Monday, March 16, 2009
  28. 28. EVOLUTIONARY DATA MODELING BUILD THE SIMPLEST THING THAT CAN POSSIBLY WORK...EVERY DAY Monday, March 16, 2009
  29. 29. DATABASE TESTS TDD IN THE DB Monday, March 16, 2009
  30. 30. DATABASE TESTS Monday, March 16, 2009
  31. 31. DATABASE TESTS STORED PROCEDURES Monday, March 16, 2009
  32. 32. DATABASE TESTS STORED PROCEDURES SQLUNIT Monday, March 16, 2009
  33. 33. DATABASE TESTS STORED PROCEDURES SQLUNIT DBUNIT Monday, March 16, 2009
  34. 34. DATABASE TESTS STORED PROCEDURES SQLUNIT DBUNIT CUSTOM HYBRIDS Monday, March 16, 2009
  35. 35. SOURCE CONTROL Monday, March 16, 2009
  36. 36. SOURCE CONTROL LIKE MOTHER TAUGHT YOU Monday, March 16, 2009
  37. 37. SOURCE CONTROL Monday, March 16, 2009
  38. 38. SOURCE CONTROL DDL EXTRACT/MIGRATION SCRIPTS REFERENCE DATA STORED PROCS/TRIGGERS Monday, March 16, 2009
  39. 39. SANDBOXES Monday, March 16, 2009
  40. 40. Monday, March 16, 2009
  41. 41. Monday, March 16, 2009
  42. 42. CHANGELOG Monday, March 16, 2009
  43. 43. CHANGELOG COMMANDS Monday, March 16, 2009
  44. 44. CHANGELOG COMMANDS MIGRATION SCENARIOS Monday, March 16, 2009
  45. 45. CHANGELOG Monday, March 16, 2009
  46. 46. CHANGELOG SQL IN XML Monday, March 16, 2009
  47. 47. CHANGELOG SQL IN XML ONE OPERATION AT A TIME Monday, March 16, 2009
  48. 48. CHANGELOG SQL IN XML ONE OPERATION AT A TIME TRACKED IN DATABASE Monday, March 16, 2009
  49. 49. CHANGELOG <changeSet author=quot;tlberglund (generated)quot; id=quot;1236660747556-11quot;> <createTable tableName=quot;scshoppingcartquot;> <column autoIncrement=quot;truequot; name=quot;idquot; type=quot;INTquot;> <constraints nullable=quot;falsequot;/> </column> <column name=quot;useridquot; type=quot;INTquot;> <constraints nullable=quot;falsequot;/> </column> <column name=quot;lastmodifiedquot; type=quot;DATETIMEquot;/> <column name=quot;namequot; type=quot;VARCHAR(50)quot;/> </createTable> </changeSet> <changeSet author=quot;tlberglundquot; id=quot;spot-1-1-2quot;> <renameTable oldTableName=quot;scscrubrecordwarehousequot; newTableName=quot;scrub_record_logquot; /> </changeSet> Monday, March 16, 2009
  50. 50. LIQUIBASE COMMANDS Monday, March 16, 2009
  51. 51. LIQUIBASE COMMANDS generateChangeLog Monday, March 16, 2009
  52. 52. LIQUIBASE COMMANDS changeLogSync Monday, March 16, 2009
  53. 53. LIQUIBASE COMMANDS update Monday, March 16, 2009
  54. 54. LIQUIBASE COMMANDS tag Monday, March 16, 2009
  55. 55. LIQUIBASE COMMANDS rollback Monday, March 16, 2009
  56. 56. LIQUIBASE COMMANDS diff Monday, March 16, 2009
  57. 57. DEMO Monday, March 16, 2009
  58. 58. AND WE’RE BACK Monday, March 16, 2009
  59. 59. CULTIVATING THE BROWNFIELD Monday, March 16, 2009
  60. 60. LEGACY ENTERPRISE APP Monday, March 16, 2009
  61. 61. NEW GRAILS HOTNESS Monday, March 16, 2009
  62. 62. HARD CUTOVER Monday, March 16, 2009
  63. 63. CREATIVE ORM MAPPINGS Monday, March 16, 2009
  64. 64. WITHERING ON THE VINE Monday, March 16, 2009
  65. 65. BROWNFIELD DATA INTEGRATION Monday, March 16, 2009
  66. 66. BROWNFIELD DATA INTEGRATION TIME ZERO MIGRATION Monday, March 16, 2009
  67. 67. BROWNFIELD DATA INTEGRATION TIME ZERO MIGRATION Monday, March 16, 2009
  68. 68. BROWNFIELD TESTING Monday, March 16, 2009
  69. 69. BROWNFIELD TESTING INTEGRATION TEST DATA Monday, March 16, 2009
  70. 70. BROWNFIELD TESTING Monday, March 16, 2009
  71. 71. BROWNFIELD TESTING T0 MIGRATION SCRIPTS Monday, March 16, 2009
  72. 72. BROWNFIELD TESTING Monday, March 16, 2009
  73. 73. THE CURSE IS BROKEN Monday, March 16, 2009
  74. 74. THANK YOU! TIM BERGLUND AUGUST TECHNOLOGY GROUP, LLC http://www.augusttechgroup.com tim.berglund@augusttechgroup.com @tlberglund Monday, March 16, 2009
  75. 75. PHOTO CREDITS DODO: HTTP://WWW.INTERNATIONALDOVESOCIETY.COM/MISCSPECIES/DODO.HTM EMBALMING: HTTP://LIBRARY.THINKQUEST.ORG/C0116982/HTML%20PAGE%20FOLDER/ HMUMMIFICATION.HTM ATTACKING MUMMY: HTTP://WWW.FLICKR.COM/PHOTOS/ROONBABOON/292393932/ CREEPY MUMMY HEAD: HTTP://WWW.FLICKR.COM/PHOTOS/DR-INI/446311713/ MARTIN FOWLER: HTTP://WWW.FLICKR.COM/PHOTOS/PRAGDAVE/173640462/ SCOTT AMBLER: HTTP://WWW.AMBYSOFT.COM/SCOTTAMBLER.HTML BRENDEN FRASER: HTTP://SCRAPETV.COM/NEWS/NEWS%20PAGES/ENTERTAINMENT/UNIVERSAL-FIRE- ACCIDENTAL-NEW-MUMMY-MOVIE-DELIBERATE-SCRAPE-TV-THE-WORLD-ON-YOUR-SIDE.HTML SAND: HTTP://WWW.FLICKR.COM/PHOTOS/LEVIATHOR/207625319/ MOTHER AND CHILD: HTTP://WWW.FLICKR.COM/PHOTOS/PATRICK_Q/268149208/ BROWN FIELD: HTTP://WWW.FLICKR.COM/PHOTOS/ARTUR02/471094378/ JALOPY: HTTP://WWW.FLICKR.COM/PHOTOS/DRAGONFLEYE/3246153/ JALOPY ON RT 66: HTTP://WWW.FLICKR.COM/PHOTOS/EVOETSCH/2436023218/ PIMPMOBILE: HTTP://WWW.FLICKR.COM/PHOTOS/AIRGAP/1053594933/ JUNKED JALOPY: HTTP://WWW.FLICKR.COM/PHOTOS/JABOOBIE/61014658/ PAINTING CAR: HTTP://WWW.FLICKR.COM/PHOTOS/GARETHJMSAUNDERS/2066690016/ WITHERED TOMATOES: HTTP://WWW.FLICKR.COM/PHOTOS/SPACESUITCATALYST/349778837/ Monday, March 16, 2009

×