liquibase: enterprise edition

Download Liquibase: Enterprise Edition

If you can't read please download the document

Upload: andrei-solntsev

Post on 14-Jun-2015

922 views

Category:

Technology


6 download

DESCRIPTION

Доклад для XP Days Kiev 2013 "I will share our experience of development heavy enterprise database code with Agile methods using LiquiBase. We will meet pitfalls like Pl/Sql, Advanced MQ, triggers, database links, partitioned tables etc. Can really this stuff be developed with Agile process? Sure! I will show how we do it with LiquiBase, CI and TDD."

TRANSCRIPT

  • 1. LiquiBase Enterprise EditionAndrei Solntsev

2. @asolntsev 3. Agile 4. Database - ! 5. Database - ! Pl/Sql Materialized views DB Links 6. liquibase CREATE TABLE PERSON ( first_name VARCHAR2(16), last_name VARCHAR2(16) ); 7. liquibase CREATE TABLE PERSON ( first_name VARCHAR2(16), middle_name VARCHAR2(2), last_name VARCHAR2(16) ); 8. liquibase CREATE TABLE PERSON ( first_name VARCHAR2(32), middle_name VARCHAR2(32), last_name VARCHAR2(32) ); 9. : 1.sqlCREATE TABLE PERSON (first_name, last_name)2.sqlALTER TABLE PERSON ADD COLUMN middle_name3.sqlALTER TABLE PERSON DROP COLUMN middle_name 10. Tools DBDeploy LiquiBase FlyWay- - -? Ruby migrations Play evolutions Redgate- ROR - Play - 11. LiquiBase: XML 12. LiquiBase: XML 13. LiquiBase: XML 14. LiquiBase: XML 15. LiquiBase: XML 16. LiquiBase DSL 17. LiquiBase DSL IDE autocompletion , SQL ! . 18. LiquiBase Oracle? 19. LiquiBase 20. 21. ? 22. Opa Agile style Oracle XE ( dev !) ant start In-memory DB ant test 23. 1. Oracle- 2. Oracle XE- 3. H2 in-memory - - - 24. GIT conf/ dev.properties db.url=jdbc:oracle:thin:@server1:1521:devdblocal.properties db.url=jdbc:oracle:thin:@127.0.0.1:1521:xeinmemory.properties db.url=jdbc:h2:out/liquibase-ee 25. ant ant -Denv=dev ant -Denv=live ant start- 26. https://github.com/asolntsev/liquibase-ee 27. : SQL!SQL': JavaCVS': 28. ant show-sql LiquiBase , SQL 29. DROP procedure log_message 30. - CREATE OR REPLACE: VIEW 31. CREATE OR REPLACE 32. Materialized view CREATE MATERIALIZED VIEW currency_mv ... 33. Materialized view DROP MATERIALIZED VIEW currency_mv; CREATE MATERIALIZED VIEW currency_mv ... 34. 35. Jenkins 36. Jenkins HTML 37. Jenkins HTML 38. Jenkins HTML UI- localhost 39. 40. , 41. @asolntsev! 42. 40 . :( 43. changelog.xml 44. SQL CREATE TABLE payment ( id NUMBER NOT NULL, description VARCHAR2(100 CHAR), url VARCHAR2(500 CHAR), upd_dttm TIMESTAMP) DROP TABLE payment 45. XML 46. - Oracle 47. Materialized view CREATE MATERIALIZED VIEW currency_mv REFRESH COMPLETE as select * from (select * from currency_xa_pos2@${db.dblink.core}) DROP MATERIALIZED VIEW currency_mv; 48. Refresh Mat View BEGIN dbms_refresh.destroy('CUR_GRP'); END; 49. Refresh Mat View BEGIN dbms_refresh.destroy('CUR_GRP'); END; 50. 1.Author - GIT 2.Lock- , 3.IP detection - VPN