Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Database Change Management

321 visualizaciones

Publicado el

Wie bleiben Datenbank Schema und Applikation in sync ? Liquibase !

Publicado en: Software
  • Inicia sesión para ver los comentarios

  • Sé el primero en recomendar esto

Database Change Management

  1. 1. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbHSICSone GmbH © 2014 SICSone GmbH Database Change Management Dominik Hirt
  2. 2. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH IUG Workshop 25.03.2014 Informix Datenbankserver der Gegenwart und Zukunft ?
  3. 3. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH IUG Workshop 25.03.2014 Informix Datenbankserver der Gegenwart und Zukunft ? „Prognosen sind schwierig, vor allem wenn sie die Zukunft betreffen“ Niels Bohr u.a.
  4. 4. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH IUG Workshop 25.03.2014 Informix Datenbankserver der Gegenwart und Zukunft ? Agile / Inkrementelle/ Iterative Software Entwicklung
  5. 5. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH IUG Workshop 25.03.2014 Inhalt !  Ziele eines Database Change Managements !  Unterschiede Change Management SourceCode vs. DB !  Spezifika Enterprise Java !  Eine mögliche Lösung !  Diskussion
  6. 6. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH IUG Workshop 25.03.2014 Ziele !  Inkrementelle Änderungen an SourceCode und Datenbank Schema ! SourceCode und Datenbank Schema müssen zueinander passen !  Benutzung von beliebigen Ständen aus der Vergangenheit
  7. 7. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management I Editor / IDE Unit Test SVN / Git Continuous Integration Continuous Delivery Integration Test Agile Iteration
  8. 8. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management I !  Vorteile !   De-Facto Standard in Agilen Teams / Prozesse !   Hohe Flexibilität !   Entwickler sind unabhängig voneinander, inbesondere mit dezentralen SCM (Git) !   Source Code Änderungen immer inkrementell !  Feature Driven Development !   Viele kleine Wasserfälle !   Pro Feature eine Iteration durchlaufen
  9. 9. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II Editor SQLTool DB
  10. 10. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II DBApplikation Impedance Mismatch 1
  11. 11. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II DB 1Testsystem 1 DB 2Testsystem 2 DB 3Testsystem 3 Mismatch 2
  12. 12. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II DB 1Trunk DB 2Branch 1.x DB 3Branch 2.x Migration ?
  13. 13. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Anforderungen !  Inkrementelle Änderungen von DB Schema (und Daten) verwalten !  Integrität von Migrationen !   Nach commit ins SCM !  Verhindern von parallelen Migrationen !  Rollback
  14. 14. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Enterprise Java !  Einbindung in Buildprozess (Maven / Ant / Gradle) !  JDBC ready !  Support für JEE Frameworks (Spring / Hibernate)
  15. 15. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Eine Lösung
  16. 16. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Eine Lösung <xml/>
  17. 17. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Eine Lösung
  18. 18. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II ChangeSet Liquibase DB
  19. 19. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Liquibase ! Structural Refactorings !   Add Column, Rename Column, Modify Column, Drop Column, Alter Sequence, Create Table, Rename Table, Drop Table, Create View, Rename View, Drop View, Merge Columns, Create Stored Procedure !  Data Quality Refactorings !   Add Lookup Table, Add Not-Null Constraint, Remove Not-Null Constraint, Add Unique Constraint, Drop Unique Constraint, Create Sequence, Drop Sequence, Add Auto-Increment, Add Default Value, Drop Default Value ! Referential Integrity Refactorings !   Add Foreign Key Constraint, Drop Foreign Key, Constraint, Drop All Foreign Key Constraints, Add Primary Key Constraint, Drop Primary Key Constraint !  Non-Refactoring Transformations !   Insert Data, Load Data, Load Update Data, Update Data, Delete Data, Tag Database !  Custom Refactorings ! Modifying Generated SQL, Custom SQL, Custom SQL File, Custom Refactoring Class, Execute Shell Command
  20. 20. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Erweiterbar / Sicherheit
  21. 21. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH #epicfail
  22. 22. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Lösung
  23. 23. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Lösung
  24. 24. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Alternativen ! Flyway !  Autopatch @ GitHub ! MyBatis Migrations
  25. 25. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II ChangeSet UnitTest Commit SCM Continuous Integration DB 1 DB 2 Continuous Deployment Integration Tests DB 3
  26. 26. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II Agile Iteration

×