DatabaseREFACTORING     with      Tim Berglund                     1
@tlberglund #liquibase              2
3
4
Managing Code Change                       5
Managing DatabaseChange                    6
Agile  DatabaseDevelopment              7
Refactoring                                     EvolutionaryAutomated                                         Data Testing...
Evolutionary    Data Modeling               9
Refactoring              10
Automated Testing            11
12
Automated Testing            13
SourceControl          14
All Database Artifacts             DDL   Extract/Migration Scripts       Reference Data      Stored Procedures           T...
SourceControl          16
Sandboxes            17
I would totally fail atdatabase agility  without this   sandbox!Sandboxes                   18
but my bosssays databasesandboxes are     bad.Sandboxes                19
I need  tooling,    Mom.Sandboxes             20
21
Refactoring                                     EvolutionaryAutomated                                         Data Testing...
Refactoring                                     EvolutionaryAutomated                                         Data Testing...
+ Apache 2.0 License                       24
25
DB2      26
Changelog            27
databaseChangeLog      changeSet 1      changeSet 2         ...      changeSet n                    28
changeSet    author         id      refactoring 1      refactoring 2             ...      refactoring n                   ...
Current changeLog   changeSet 1      ✓ changeSet 1   changeSet 2      ✓ changeSet 2                      changeSet 3   cha...
<write-in-xml>   <all-of-your>      <sql             seriously=”yes”             but-its-not=”that bad” />      <trust><me...
Changelog<changeSet author="tlberglund (generated)" id="1236660747556-11">	 <createTable tableName="scshoppingcart">	 	 <c...
ChangelogchangeSet(author: "tlberglund" id: "1236660747556-11") {	 createTable(tableName: "scshoppingcart") {	 	 column(au...
Commands           34
generateChangeLog                          Reverse              ENGINEERS   writes all that darn        XML               ...
changeLogSync   Establishes    METADATA           just remember do this one                                       36
update            Issues                   actual     Migrates         DDLCHANGES           this is your faithful friend  ...
tag      Marks        the current      STATE                      38
rollback             Restores           original         STATE UsuallyAUTOMATIC                        39
40
Process          41
Documentationhttp://www.liquibase.com/manual/home                                       42
Refactoring                                     EvolutionaryAutomated                                         Data Testing...
Thank You        Tim Berglund    www.augusttechgroup.comtim.berglund@augusttechgroup.com            @tlberglund           ...
Photo CreditsHammer Shattering Wine Glasshttp://www.flickr.com/photos/whisperwolf/3486270713Rusty Drumhttp://www.flickr.com/...
Upcoming SlideShare
Loading in …5
×

Gaelyk - Web Apps In Practically No Time

513 views
445 views

Published on

Want to learn how to create web apps in practically no time, then host them for free in the cloud? Then the Gaelyk Workshop is for you. Gaelyk is a lightweight, Groovy-based framework designed specifically for the Google App Engine (GAE). It provides delightfully easy wrappers around the GAE APIs and just enough framework for you to get small jobs done quickly and easily.
Come ready to build a small application over the course of three hours. If you've got a Google App Engine account, you can even deploy your app to the cloud. Bring your laptop or come ready pair with a friend.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
513
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Gaelyk - Web Apps In Practically No Time

  1. 1. DatabaseREFACTORING with Tim Berglund 1
  2. 2. @tlberglund #liquibase 2
  3. 3. 3
  4. 4. 4
  5. 5. Managing Code Change 5
  6. 6. Managing DatabaseChange 6
  7. 7. Agile DatabaseDevelopment 7
  8. 8. Refactoring EvolutionaryAutomated Data Testing Modeling Agile Database Development Source Sandboxes Control 8
  9. 9. Evolutionary Data Modeling 9
  10. 10. Refactoring 10
  11. 11. Automated Testing 11
  12. 12. 12
  13. 13. Automated Testing 13
  14. 14. SourceControl 14
  15. 15. All Database Artifacts DDL Extract/Migration Scripts Reference Data Stored Procedures Triggers 15
  16. 16. SourceControl 16
  17. 17. Sandboxes 17
  18. 18. I would totally fail atdatabase agility without this sandbox!Sandboxes 18
  19. 19. but my bosssays databasesandboxes are bad.Sandboxes 19
  20. 20. I need tooling, Mom.Sandboxes 20
  21. 21. 21
  22. 22. Refactoring EvolutionaryAutomated Data Testing Modeling Agile Database Development Source Sandboxes Control 22
  23. 23. Refactoring EvolutionaryAutomated Data Testing Modeling Agile Database Development Source Sandboxes Control 23
  24. 24. + Apache 2.0 License 24
  25. 25. 25
  26. 26. DB2 26
  27. 27. Changelog 27
  28. 28. databaseChangeLog changeSet 1 changeSet 2 ... changeSet n 28
  29. 29. changeSet author id refactoring 1 refactoring 2 ... refactoring n 29
  30. 30. Current changeLog changeSet 1 ✓ changeSet 1 changeSet 2 ✓ changeSet 2 changeSet 3 changeSet 4 ✓ changeSet 4 changeSet 5 changeSet 5 30
  31. 31. <write-in-xml> <all-of-your> <sql seriously=”yes” but-its-not=”that bad” /> <trust><me/></trust> </all-of-your></write-in-xml> 31
  32. 32. Changelog<changeSet author="tlberglund (generated)" id="1236660747556-11"> <createTable tableName="scshoppingcart"> <column autoIncrement="true" name="id" type="INT"> <constraints nullable="false"/> </column> <column name="userid" type="INT"> <constraints nullable="false"/> </column> <column name="lastmodified" type="DATETIME"/> <column name="name" type="VARCHAR(50)"/> </createTable></changeSet> Get over<changeSet author="tlberglund" id="spot-1-1-2"> it! <renameTable oldTableName="scscrubrecordwarehouse" newTableName="scrub_record_log" /></changeSet> 32
  33. 33. ChangelogchangeSet(author: "tlberglund" id: "1236660747556-11") { createTable(tableName: "scshoppingcart") { column(autoIncrement: "true" name: "id" type: "INT") { constraints(nullable: false) } column(name: "userid" type: "INT") { constraints(nullable: false) } column(name: "lastmodified" type: "DATETIME") column(name: "name" type: "VARCHAR(50)") }} ComingchangeSet(author: "tlberglund" id: "spot-1-1-2") { Soon! renameTable(oldTableName: "scscrubrecordwarehouse" newTableName: "scrub_record_log")} 33
  34. 34. Commands 34
  35. 35. generateChangeLog Reverse ENGINEERS writes all that darn XML 35
  36. 36. changeLogSync Establishes METADATA just remember do this one 36
  37. 37. update Issues actual Migrates DDLCHANGES this is your faithful friend 37
  38. 38. tag Marks the current STATE 38
  39. 39. rollback Restores original STATE UsuallyAUTOMATIC 39
  40. 40. 40
  41. 41. Process 41
  42. 42. Documentationhttp://www.liquibase.com/manual/home 42
  43. 43. Refactoring EvolutionaryAutomated Data Testing Modeling Agile Database Development Source Sandboxes Control 43
  44. 44. Thank You Tim Berglund www.augusttechgroup.comtim.berglund@augusttechgroup.com @tlberglund 44
  45. 45. Photo CreditsHammer Shattering Wine Glasshttp://www.flickr.com/photos/whisperwolf/3486270713Rusty Drumhttp://www.flickr.com/photos/the_justified_sinner/2720599186/Leaky Pipehttp://www.flickr.com/photos/ceekay/3238528758C64 Floppy Drivehttp://www.flickr.com/photos/moparx/4013824025Sandboxhttp://www.flickr.com/photos/celinesphotographer/326629023Dog Teaching Water a Lessonhttp://www.flickr.com/photos/ninahiironniemi/201905662Feet in the Sandhttp://www.flickr.com/photos/mattsabo17/77433071 45

×