SlideShare a Scribd company logo
Continuous DB Changes Delivery
With Liquibase
Presented by Aidas Dragunas
Agenda
• The short overview of Continuous Delivery process
• The overview of Liquibase technology as one of open source
technologies, designed for DB changes migration
• Live demonstration of how Liquibase could be used in Continuous
Delivery process
Continuous Delivery Overview
How to continuously deliver application changes to the
testing and production environment
Deployment automation stages
Commit Code
Perform Unit &
Integration
testing
Deploy to
testing
environment
Perform
Acceptance
testing
Deploy to
production
environment
Continuous Integration
Continuous Delivery
Continuous Deployment
Continuous integration process
3
2
4
CI Server
(Jenkins)
Development team
SCM repository
(GIT, SVN)
1
Notification
Binary repository
(Nexus)
Continuous delivery process
2
5
4
3
CI Server
(Jenkins)
Testing
Environment
Development team
SCM repository
(GIT, SVN)
1
Notification
Binary repository
(Nexus)
Continuous deployment
process
2
4
5
3
7
6
CI Server
(Jenkins)
Testing
Environment
Development team
SCM repository
(GIT, SVN)
1
Stakeholders
Production
Environment
Notification
Notification
Binary repository
(Nexus)
Continuous delivery key notes
• DB changes and web changes are committed into the SCM
repository together
• DB changes are created and stored incrementally
• DB changes are deployed incrementally
• DB changes and web changes are deployed together
Liquibase Overview
Overview of Liquibase - one of DB changes deployment tools
Introduction
• Purpose
• Provide structure to track and
manage DB changes
• Deploy DB changes to the
database
• Main keywords
• Master Changelog
• Incremental Changelog
• Changeset
• Latest version
• 3.4.2 (November 24, 2015)
• License
• Liquibase - Apache 2.0
• Datical DB - Commerce
version of Liquibase
• Principles
• Manage DB changes in small chunks – Changesets
• Store DB changes in Changelog files (preferably one Changeset in one file).
• Use Changelog tables in the DB to track and manage DB changes
deployment process.
Features
• Changeset descripton formats
• XML
• SQL
• JSON
• YAML
• Changeset description types
• Inside Changelog file
• Outside Changelog file
• Changeset types
• DB structure changes
• Methods
• Data changes
• Database types
• Oracle
• PostgreSQL
• SQL Server
• MySQL
• Other
• Additional features
• DB changes file generation
• DB changes rollback
• DB difference generation
• DB documentation
• Plugins
• Ant, Maven, Gradle (third
party provider)
• Spring
Benefits
• Flexible
• Plugins for main deployment engines (Ant, Maven, Gradle)
• Suitable for beginners and for experienced developers
• Abiliy to load data and compile methods
• Ability to rollback changes
• Ability to review changes SQL file
• Ability to generate documentation
• Manually defining the order of changes
• Supports various changelog formats
• Supports the majority of database vendors
Drawbacks
• Sometimes too complex, especially for datasets deployment
• Manually defining the order of changes
• Different plugins features for Gradle, Maven and Ant
• Poorly formated output log
• Change locks happen. When manual lock release should be
performed directly in the database
• Limited by JDBC
• Doesn‘t support Slonik files, so PostgreSQL built-in streaming
replication should be enabled
Liquibase vs Flyway
Feature Liquibase Flyway
Incremental migration x x
Migration SQL preview x
Migration formats XML, SQL, YAML, JSON SQL, Java
Migration order
management strategy
Manual Automatic
Migration rollback x
Repeated change
execution
x
Context based change
deployment
x
Documentation
• http://www.liquibase.org/documentation/index.html
• http://www.datical.com/wp-content/uploads/2013/09/3-
Technical-Brief-Datical-DB.pdf
Continuous Delivery With Liquibase
Demo
How to continuously deliver DB changes to the PostgreSQL
database using Liquibase
Solutions Pie
PostgreSQL
Jenkins/Nexus
Git
Maven/Ant/Gradle
Liquibase
(Changelogs/Changesets)
Changelogs catalog structure
• changes
• change-20151009142310
• change.sql
• change.xml
• change-20151009143745
• ....
• changelog.xml
• datasets
• dataset-0001
• dataset.xml
• dataset-0002
• ....
• changelog.xml
• methods
• changelog.xml
• env
• local.properties
• development.properties
• qa.properties
• production.properties
• gradle
• libs
Live Example
Questions?

More Related Content

PPTX
Database versioning with liquibase
PPTX
Liquibase case study
PPTX
Liquibase migration for data bases
ODP
Liquibase & Flyway @ Baltic DevOps
PPTX
Database change management with Liquibase
PDF
Introduction To Liquibase
PPTX
Liquibase
Database versioning with liquibase
Liquibase case study
Liquibase migration for data bases
Liquibase & Flyway @ Baltic DevOps
Database change management with Liquibase
Introduction To Liquibase
Liquibase

What's hot (20)

PDF
Database migration with flyway
PDF
Always on in sql server 2017
PPTX
Database Migrations with Gradle and Liquibase
PPTX
GIT presentation
PPTX
Getting started with agile database migrations for java flywaydb
PDF
Git basics
PPTX
Database Change Management as a Service
PDF
MySQL 상태 메시지 분석 및 활용
PPTX
GitLab.pptx
PPTX
Liquibase for java developers
PPTX
Flyway: The agile database migration framework for Java
ODP
Introduction to Version Control
PPTX
BitBucket presentation
PDF
Git-flow workflow and pull-requests
PDF
PostgreSQL Deep Internal
PPTX
Git and GitHub
PPTX
Come Fly With Me: Database Migration Patterns with Flyway
PPTX
Version control
PPTX
Database migration with flyway
Always on in sql server 2017
Database Migrations with Gradle and Liquibase
GIT presentation
Getting started with agile database migrations for java flywaydb
Git basics
Database Change Management as a Service
MySQL 상태 메시지 분석 및 활용
GitLab.pptx
Liquibase for java developers
Flyway: The agile database migration framework for Java
Introduction to Version Control
BitBucket presentation
Git-flow workflow and pull-requests
PostgreSQL Deep Internal
Git and GitHub
Come Fly With Me: Database Migration Patterns with Flyway
Version control
Ad

Similar to Continuous DB Changes Delivery With Liquibase (20)

PPTX
Evolutionary database design
PDF
OUG Ireland Meet-up 12th January
PPTX
Bringing DevOps to the Database
PDF
SQL Server DevOps Jumpstart
PDF
Liquibase få kontroll på dina databasförändringar
PDF
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
PDF
Microsoft SQL Server Continuous Integration
PDF
Delivering Changes for Applications and Databases
PPT
Liquibase – a time machine for your data
PPTX
Managing changes to eZPublish Database
PDF
Managing Changes to the Database Across the Project Life Cycle (presented by ...
PPTX
SQL Server Database Migration
PDF
Database Build and Release - SQL In The City - Ernest Hwang
PPTX
SQL in Version Control using SQL Server Database Projects
PDF
DesignMind SQL Server 2008 Migration
PDF
Operations for databases – the agile/devops journey
PDF
SQL Server 2019 CTP2.4
PPTX
Change management in hybrid landscapes
PDF
Database CI Demo Using Sql Server
PPTX
MuleSoft integration with Liquibase | Mysore MuleSoft Meetup #3
Evolutionary database design
OUG Ireland Meet-up 12th January
Bringing DevOps to the Database
SQL Server DevOps Jumpstart
Liquibase få kontroll på dina databasförändringar
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
Microsoft SQL Server Continuous Integration
Delivering Changes for Applications and Databases
Liquibase – a time machine for your data
Managing changes to eZPublish Database
Managing Changes to the Database Across the Project Life Cycle (presented by ...
SQL Server Database Migration
Database Build and Release - SQL In The City - Ernest Hwang
SQL in Version Control using SQL Server Database Projects
DesignMind SQL Server 2008 Migration
Operations for databases – the agile/devops journey
SQL Server 2019 CTP2.4
Change management in hybrid landscapes
Database CI Demo Using Sql Server
MuleSoft integration with Liquibase | Mysore MuleSoft Meetup #3
Ad

Recently uploaded (20)

PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
ai tools demonstartion for schools and inter college
PPTX
Introduction to Artificial Intelligence
PDF
medical staffing services at VALiNTRY
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Nekopoi APK 2025 free lastest update
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Digital Strategies for Manufacturing Companies
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Essential Infomation Tech presentation.pptx
PPTX
L1 - Introduction to python Backend.pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Reimagine Home Health with the Power of Agentic AI​
ai tools demonstartion for schools and inter college
Introduction to Artificial Intelligence
medical staffing services at VALiNTRY
How to Choose the Right IT Partner for Your Business in Malaysia
Nekopoi APK 2025 free lastest update
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Navsoft: AI-Powered Business Solutions & Custom Software Development
Digital Strategies for Manufacturing Companies
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
2025 Textile ERP Trends: SAP, Odoo & Oracle
Odoo Companies in India – Driving Business Transformation.pdf
Operating system designcfffgfgggggggvggggggggg
Softaken Excel to vCard Converter Software.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PTS Company Brochure 2025 (1).pdf.......
Essential Infomation Tech presentation.pptx
L1 - Introduction to python Backend.pptx

Continuous DB Changes Delivery With Liquibase

  • 1. Continuous DB Changes Delivery With Liquibase Presented by Aidas Dragunas
  • 2. Agenda • The short overview of Continuous Delivery process • The overview of Liquibase technology as one of open source technologies, designed for DB changes migration • Live demonstration of how Liquibase could be used in Continuous Delivery process
  • 3. Continuous Delivery Overview How to continuously deliver application changes to the testing and production environment
  • 4. Deployment automation stages Commit Code Perform Unit & Integration testing Deploy to testing environment Perform Acceptance testing Deploy to production environment Continuous Integration Continuous Delivery Continuous Deployment
  • 5. Continuous integration process 3 2 4 CI Server (Jenkins) Development team SCM repository (GIT, SVN) 1 Notification Binary repository (Nexus)
  • 6. Continuous delivery process 2 5 4 3 CI Server (Jenkins) Testing Environment Development team SCM repository (GIT, SVN) 1 Notification Binary repository (Nexus)
  • 7. Continuous deployment process 2 4 5 3 7 6 CI Server (Jenkins) Testing Environment Development team SCM repository (GIT, SVN) 1 Stakeholders Production Environment Notification Notification Binary repository (Nexus)
  • 8. Continuous delivery key notes • DB changes and web changes are committed into the SCM repository together • DB changes are created and stored incrementally • DB changes are deployed incrementally • DB changes and web changes are deployed together
  • 9. Liquibase Overview Overview of Liquibase - one of DB changes deployment tools
  • 10. Introduction • Purpose • Provide structure to track and manage DB changes • Deploy DB changes to the database • Main keywords • Master Changelog • Incremental Changelog • Changeset • Latest version • 3.4.2 (November 24, 2015) • License • Liquibase - Apache 2.0 • Datical DB - Commerce version of Liquibase • Principles • Manage DB changes in small chunks – Changesets • Store DB changes in Changelog files (preferably one Changeset in one file). • Use Changelog tables in the DB to track and manage DB changes deployment process.
  • 11. Features • Changeset descripton formats • XML • SQL • JSON • YAML • Changeset description types • Inside Changelog file • Outside Changelog file • Changeset types • DB structure changes • Methods • Data changes • Database types • Oracle • PostgreSQL • SQL Server • MySQL • Other • Additional features • DB changes file generation • DB changes rollback • DB difference generation • DB documentation • Plugins • Ant, Maven, Gradle (third party provider) • Spring
  • 12. Benefits • Flexible • Plugins for main deployment engines (Ant, Maven, Gradle) • Suitable for beginners and for experienced developers • Abiliy to load data and compile methods • Ability to rollback changes • Ability to review changes SQL file • Ability to generate documentation • Manually defining the order of changes • Supports various changelog formats • Supports the majority of database vendors
  • 13. Drawbacks • Sometimes too complex, especially for datasets deployment • Manually defining the order of changes • Different plugins features for Gradle, Maven and Ant • Poorly formated output log • Change locks happen. When manual lock release should be performed directly in the database • Limited by JDBC • Doesn‘t support Slonik files, so PostgreSQL built-in streaming replication should be enabled
  • 14. Liquibase vs Flyway Feature Liquibase Flyway Incremental migration x x Migration SQL preview x Migration formats XML, SQL, YAML, JSON SQL, Java Migration order management strategy Manual Automatic Migration rollback x Repeated change execution x Context based change deployment x
  • 16. Continuous Delivery With Liquibase Demo How to continuously deliver DB changes to the PostgreSQL database using Liquibase
  • 18. Changelogs catalog structure • changes • change-20151009142310 • change.sql • change.xml • change-20151009143745 • .... • changelog.xml • datasets • dataset-0001 • dataset.xml • dataset-0002 • .... • changelog.xml • methods • changelog.xml • env • local.properties • development.properties • qa.properties • production.properties • gradle • libs