SlideShare a Scribd company logo
Delhi MuleSoft Meetup
Flyway Integration with MuleSoft
27th Aug 2022
11:00 AM IST
Organizer
Today’s Meetup Host
https://t.me/muleSoftStation
Shyam Raj Prasad
Senior Principal Engineer
Tricon Infotech Private Limited
About: Shyam Raj Prasad
● Working as Senior Principal Engineer at Tricon Infotech
Private Limited.
● 12+ years of Total Experience.
● 4+ years experience in Mulesoft.
● Certified MuleSoft Developer and Architect.
● Certified Liquibase Fundamentals
● Active on mulesoft help forum
Speaker
● Both the speaker and the host are organizing this meet-up in individual capacity only. We are
not representing our companies here.
● This presentation is strictly for learning purposes only. Organizer/Presenter do not hold any
responsibility that same solution will work for your business requirements.
● This presentation is not meant for any promotional activities.
5
Safe Harbour Statement
A recording of this meetup will be uploaded to events page within 24 hours.
Questions can be submitted/asked at any time in the Chat/Questions & Answers Tab.
Make it more Interactive!!!
Give us feedback! Rate this meetup session by filling feedback form at the end of the day.
We Love Feedbacks as it helps us to improve the sessions.
6
Housekeeping
7
A SHOW OF HANDS:
New Members With Us.!!
CHEERS…!!!
We have prizes to give away!
3 Winners a special prize is ready
Flyway
Database Change Management
9
Agenda
● Why Database Migrations?
● Flyway Introduction
● Flyway Migrations
● Flyway Commands
● Demo
10
● Multiple test and production stages
● Complicated in-house solution
● Goals:
○ Automatic deployment of database changes
○ Avoidance of human error factor
○ Control of the update process
Motivation
11
● Never use a shared database server for development work
● Always have a single, authoritative source for your schema
● Always version your database
Three rules for Database Work
12
● Treat database migrations as integral part of the project(db scripts
checked in source code repository)
● Fail-fast: check/migrate database at app startup
● Continuous Database integration
Best Practices
13
“Continuous Database Integration (CDBI) is the process of rebuilding
your database and test data at any time a change is applied to a
project’s version control repository”
(P. M. Duvall, S. Matyas, A. Glover, Continuous Integration)
Continuous Database Integration
14
● Liquibase
● Flyway
● MyBatis
● And a few dead projects:
○ dbdeploy(2009)
○ Migratedb(2014)
○ migrate4j(2008)
○ dbmaintain(2011)
○ autopatch(2014)
Database Migration Tools
15
● We used to maintain DB scripts(text based) and add them manually
to DB
● But there are more issues
○ easy to lost sync between code and DB state
○ hard to recover from error during development (ex: in case of applying
wrong statement to DB)
○ often require to re-create DB from scratch during development
○ hard to find out state of particular DB environment
● For these issues, Liquibase/flyway is a good solution
Why Database Migration tools ?
Development: Code side
16
Development: Database side (1/2)
17
Development: Database side (2/2)
18
Let’s compare
19
Let’s focus on database for once
20
Ever considered database migration?
21
Flyway
22
● Solves only one problem and solves it well
● Lightweight and easy to set up
● Continuous delivery - migrate database changes on application
startup or as a build pipeline
● Plain SQL update scripts
● Convention over configuration
Flyway
23
● Aurora MySQL
● Aurora PostgresSQL
● Azure Synapse
● Google BigQuery
● Cloud Spanner
● Cockroach DB
● DB2
● Derby
● Firebird
● H2
● HSQLDB
● Informix
● MariaDB
Supported Databases
● MySQL
● Oracle
● Persona XtraDB cluster
● PostgresSQL
● Redshift
● SAP Hana
● Snowflake
● SQLIte
● SQL Server
● Sybase ASE
● Test Containers
● TimeScale DB
● TIDB
● YugaByte DB
How flyway works?
24
How flyway works?
25
How flyway works?
26
Inside flyway_schema_history table
27
Ready to migrate
28
Result after migration
29
30
● Two types of Migrations
○ SQL-based
■ DDL Changes (CREATE/ALTER/DROP statements for tables,
views, triggers, sequences)
■ Simple reference data changes (CRUD in reference data
tables)
■ Simple bulk data changes (CRUD in regular data tables)
○ Java-based
Flyway Migrations
Flyway Migrations
31
Flyway Migrations
32
Flyway Migrations
33
Flyway Migrations Naming
34
In order to be picked up by Flyway, SQL
migrations must comply with the following
naming pattern:
● Prefix: V for versioned (configurable),
U for undo (configurable)and R for
repeatable migrations (configurable)
● Version: Version with dots or
underscores separate as many parts as
you like (Not for repeatable migrations)
● Separator: __ (two underscores)
(configurable)
● Description: Underscores or spaces
separate the words
● Suffix: .sql (configurable)
Where to store the migrations?
35
Where to store the migrations?
36
Flyway discovers SQL-based migrations from one or more directories referenced
by the locations property.
● Unprefixed locations or locations with the classpath: prefix target the Java
classpath.
● Locations with the filesystem: prefix search the file system.
● Locations with the s3: prefix search AWS S3 buckets. To use AWS S3, the
AWS SDK v2 and dependencies must be included, and configured for your
S3 account.
● Locations with the gcs: prefix search Google Cloud Storage buckets. To use
GCS, the GCS library must be included, and the GCS environment variable
GOOGLE_APPLICATION_CREDENTIALS must be set to the credentials file
for the service account that has access to the bucket.
Run the migrations
37
Let’s migrate using maven
38
Let’s migrate using maven
39
Flyway commands
40
Migrates the database Drops all objects in the configured
schemas
Prints the details and status
information about all the migrations
Validates the applied migrations
against the ones available on the
classpath
Repairs the schema history table
Baselines an existing database
Demo
Q&A
43
●Nominate yourself for the next meetup speaker and suggest a topic as well.
Take a Stand !
Get ready to WIN a Special Gift from MuleSoft Community
Quiz Time
45
● Share:
○ Tweet your pictures using the hashtag #MuleSoftMeetup
○ Invite your network to join: https://meetups.mulesoft.com/delhi/
● Feedback:
○ Fill out the survey feedback and suggest topics for upcoming events
○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program
○ Reach out to Delhi Meetup Leaders to suggest topics for next Meetup
What’s Next ?
46
● Anurag Sharma : https://www.linkedin.com/in/anurag-sharma-59745b20/
● Ankit Lawaniya: https://www.linkedin.com/in/ankit-lawaniya/
● Pryank Gupta: https://www.linkedin.com/in/gupta-pryank-24a1293b/
● Abhay Aggarwal: https://www.linkedin.com/in/abhay-agarwal-851121112/
● Minni Jajodia : https://www.linkedin.com/in/minni-jajodia/
Organizers :
Contact us for any query related to Today’s Meetup
Thank you
Don’t forget to provide the Feedback of this meetup

More Related Content

Similar to Delhi_Meetup_flyway_Integration.pptx

Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
Girish Kalamati
 
MuleSoft integration with Liquibase | Mysore MuleSoft Meetup #3
MuleSoft integration with Liquibase | Mysore MuleSoft Meetup #3MuleSoft integration with Liquibase | Mysore MuleSoft Meetup #3
MuleSoft integration with Liquibase | Mysore MuleSoft Meetup #3
MysoreMuleSoftMeetup
 
Liquibase Integration with MuleSoft
Liquibase Integration with MuleSoftLiquibase Integration with MuleSoft
Liquibase Integration with MuleSoft
NeerajKumar1965
 
Building MuleSoft Applications with Google BigQuery Meetup 4
Building MuleSoft Applications with Google BigQuery Meetup 4Building MuleSoft Applications with Google BigQuery Meetup 4
Building MuleSoft Applications with Google BigQuery Meetup 4
MannaAkpan
 
Ahmadabad mule soft_meetup_6march2021_azure_CICD
Ahmadabad mule soft_meetup_6march2021_azure_CICDAhmadabad mule soft_meetup_6march2021_azure_CICD
Ahmadabad mule soft_meetup_6march2021_azure_CICD
Shekh Muenuddeen
 
Workshop on Google Cloud Data Platform
Workshop on Google Cloud Data PlatformWorkshop on Google Cloud Data Platform
Workshop on Google Cloud Data Platform
GoDataDriven
 
Database Migrations with Gradle and Liquibase
Database Migrations with Gradle and LiquibaseDatabase Migrations with Gradle and Liquibase
Database Migrations with Gradle and Liquibase
Dan Stine
 
Migrate SQL Workloads to Azure
Migrate SQL Workloads to AzureMigrate SQL Workloads to Azure
Migrate SQL Workloads to Azure
Antonios Chatzipavlis
 
Delivering changes for applications and databases
Delivering changes for applications and databasesDelivering changes for applications and databases
Delivering changes for applications and databases
Eduardo Piairo
 
Sprint 45 review
Sprint 45 reviewSprint 45 review
Sprint 45 review
ManageIQ
 
Migration to drupal 8.
Migration to drupal 8.Migration to drupal 8.
Migration to drupal 8.
Anatoliy Polyakov
 
DWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
DWX 2023 - Datenbank-Schema Deployment im Kubernetes ReleaseDWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
DWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
Marc Müller
 
Brk2045 upgrade sql server 2017 (on prem, iaa-s and paas)
Brk2045 upgrade sql server 2017 (on prem, iaa-s and paas)Brk2045 upgrade sql server 2017 (on prem, iaa-s and paas)
Brk2045 upgrade sql server 2017 (on prem, iaa-s and paas)
Bob Ward
 
Session 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers ProgramSession 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers Program
FIWARE
 
Neil-Leslie-CV
Neil-Leslie-CVNeil-Leslie-CV
Neil-Leslie-CV
Neil Leslie
 
The Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesThe Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle Databases
EDB
 
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
Databricks
 
Delivering Changes for Applications and Databases
Delivering Changes for Applications and DatabasesDelivering Changes for Applications and Databases
Delivering Changes for Applications and Databases
Miguel Alho
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
 
Polyglot Persistence - Two Great Tastes That Taste Great Together
Polyglot Persistence - Two Great Tastes That Taste Great TogetherPolyglot Persistence - Two Great Tastes That Taste Great Together
Polyglot Persistence - Two Great Tastes That Taste Great Together
John Wood
 

Similar to Delhi_Meetup_flyway_Integration.pptx (20)

Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
 
MuleSoft integration with Liquibase | Mysore MuleSoft Meetup #3
MuleSoft integration with Liquibase | Mysore MuleSoft Meetup #3MuleSoft integration with Liquibase | Mysore MuleSoft Meetup #3
MuleSoft integration with Liquibase | Mysore MuleSoft Meetup #3
 
Liquibase Integration with MuleSoft
Liquibase Integration with MuleSoftLiquibase Integration with MuleSoft
Liquibase Integration with MuleSoft
 
Building MuleSoft Applications with Google BigQuery Meetup 4
Building MuleSoft Applications with Google BigQuery Meetup 4Building MuleSoft Applications with Google BigQuery Meetup 4
Building MuleSoft Applications with Google BigQuery Meetup 4
 
Ahmadabad mule soft_meetup_6march2021_azure_CICD
Ahmadabad mule soft_meetup_6march2021_azure_CICDAhmadabad mule soft_meetup_6march2021_azure_CICD
Ahmadabad mule soft_meetup_6march2021_azure_CICD
 
Workshop on Google Cloud Data Platform
Workshop on Google Cloud Data PlatformWorkshop on Google Cloud Data Platform
Workshop on Google Cloud Data Platform
 
Database Migrations with Gradle and Liquibase
Database Migrations with Gradle and LiquibaseDatabase Migrations with Gradle and Liquibase
Database Migrations with Gradle and Liquibase
 
Migrate SQL Workloads to Azure
Migrate SQL Workloads to AzureMigrate SQL Workloads to Azure
Migrate SQL Workloads to Azure
 
Delivering changes for applications and databases
Delivering changes for applications and databasesDelivering changes for applications and databases
Delivering changes for applications and databases
 
Sprint 45 review
Sprint 45 reviewSprint 45 review
Sprint 45 review
 
Migration to drupal 8.
Migration to drupal 8.Migration to drupal 8.
Migration to drupal 8.
 
DWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
DWX 2023 - Datenbank-Schema Deployment im Kubernetes ReleaseDWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
DWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
 
Brk2045 upgrade sql server 2017 (on prem, iaa-s and paas)
Brk2045 upgrade sql server 2017 (on prem, iaa-s and paas)Brk2045 upgrade sql server 2017 (on prem, iaa-s and paas)
Brk2045 upgrade sql server 2017 (on prem, iaa-s and paas)
 
Session 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers ProgramSession 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers Program
 
Neil-Leslie-CV
Neil-Leslie-CVNeil-Leslie-CV
Neil-Leslie-CV
 
The Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesThe Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle Databases
 
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
 
Delivering Changes for Applications and Databases
Delivering Changes for Applications and DatabasesDelivering Changes for Applications and Databases
Delivering Changes for Applications and Databases
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Polyglot Persistence - Two Great Tastes That Taste Great Together
Polyglot Persistence - Two Great Tastes That Taste Great TogetherPolyglot Persistence - Two Great Tastes That Taste Great Together
Polyglot Persistence - Two Great Tastes That Taste Great Together
 

More from AnuragSharma900

London-MuleSoft-Meetup-April-19-2023
London-MuleSoft-Meetup-April-19-2023London-MuleSoft-Meetup-April-19-2023
London-MuleSoft-Meetup-April-19-2023
AnuragSharma900
 
AhmedabadMeetup_CustomerExperience_v2.pptx
AhmedabadMeetup_CustomerExperience_v2.pptxAhmedabadMeetup_CustomerExperience_v2.pptx
AhmedabadMeetup_CustomerExperience_v2.pptx
AnuragSharma900
 
MuleSoft_Meetup_Exchange-Nexus-Publish_Asserts.pptx
MuleSoft_Meetup_Exchange-Nexus-Publish_Asserts.pptxMuleSoft_Meetup_Exchange-Nexus-Publish_Asserts.pptx
MuleSoft_Meetup_Exchange-Nexus-Publish_Asserts.pptx
AnuragSharma900
 
DelhiMeetup_AnypointMonitoring_v1.pptx
DelhiMeetup_AnypointMonitoring_v1.pptxDelhiMeetup_AnypointMonitoring_v1.pptx
DelhiMeetup_AnypointMonitoring_v1.pptx
AnuragSharma900
 
Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022
AnuragSharma900
 
Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021
AnuragSharma900
 
Meetup slide api_design_custom_poicies_in_mule4
Meetup slide api_design_custom_poicies_in_mule4Meetup slide api_design_custom_poicies_in_mule4
Meetup slide api_design_custom_poicies_in_mule4
AnuragSharma900
 

More from AnuragSharma900 (7)

London-MuleSoft-Meetup-April-19-2023
London-MuleSoft-Meetup-April-19-2023London-MuleSoft-Meetup-April-19-2023
London-MuleSoft-Meetup-April-19-2023
 
AhmedabadMeetup_CustomerExperience_v2.pptx
AhmedabadMeetup_CustomerExperience_v2.pptxAhmedabadMeetup_CustomerExperience_v2.pptx
AhmedabadMeetup_CustomerExperience_v2.pptx
 
MuleSoft_Meetup_Exchange-Nexus-Publish_Asserts.pptx
MuleSoft_Meetup_Exchange-Nexus-Publish_Asserts.pptxMuleSoft_Meetup_Exchange-Nexus-Publish_Asserts.pptx
MuleSoft_Meetup_Exchange-Nexus-Publish_Asserts.pptx
 
DelhiMeetup_AnypointMonitoring_v1.pptx
DelhiMeetup_AnypointMonitoring_v1.pptxDelhiMeetup_AnypointMonitoring_v1.pptx
DelhiMeetup_AnypointMonitoring_v1.pptx
 
Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022
 
Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021
 
Meetup slide api_design_custom_poicies_in_mule4
Meetup slide api_design_custom_poicies_in_mule4Meetup slide api_design_custom_poicies_in_mule4
Meetup slide api_design_custom_poicies_in_mule4
 

Recently uploaded

[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
DianaGray10
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
Vadym Kazulkin
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 

Recently uploaded (20)

[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 

Delhi_Meetup_flyway_Integration.pptx

  • 1. Delhi MuleSoft Meetup Flyway Integration with MuleSoft 27th Aug 2022 11:00 AM IST
  • 4. Shyam Raj Prasad Senior Principal Engineer Tricon Infotech Private Limited About: Shyam Raj Prasad ● Working as Senior Principal Engineer at Tricon Infotech Private Limited. ● 12+ years of Total Experience. ● 4+ years experience in Mulesoft. ● Certified MuleSoft Developer and Architect. ● Certified Liquibase Fundamentals ● Active on mulesoft help forum Speaker
  • 5. ● Both the speaker and the host are organizing this meet-up in individual capacity only. We are not representing our companies here. ● This presentation is strictly for learning purposes only. Organizer/Presenter do not hold any responsibility that same solution will work for your business requirements. ● This presentation is not meant for any promotional activities. 5 Safe Harbour Statement
  • 6. A recording of this meetup will be uploaded to events page within 24 hours. Questions can be submitted/asked at any time in the Chat/Questions & Answers Tab. Make it more Interactive!!! Give us feedback! Rate this meetup session by filling feedback form at the end of the day. We Love Feedbacks as it helps us to improve the sessions. 6 Housekeeping
  • 7. 7 A SHOW OF HANDS: New Members With Us.!! CHEERS…!!! We have prizes to give away! 3 Winners a special prize is ready
  • 9. 9 Agenda ● Why Database Migrations? ● Flyway Introduction ● Flyway Migrations ● Flyway Commands ● Demo
  • 10. 10 ● Multiple test and production stages ● Complicated in-house solution ● Goals: ○ Automatic deployment of database changes ○ Avoidance of human error factor ○ Control of the update process Motivation
  • 11. 11 ● Never use a shared database server for development work ● Always have a single, authoritative source for your schema ● Always version your database Three rules for Database Work
  • 12. 12 ● Treat database migrations as integral part of the project(db scripts checked in source code repository) ● Fail-fast: check/migrate database at app startup ● Continuous Database integration Best Practices
  • 13. 13 “Continuous Database Integration (CDBI) is the process of rebuilding your database and test data at any time a change is applied to a project’s version control repository” (P. M. Duvall, S. Matyas, A. Glover, Continuous Integration) Continuous Database Integration
  • 14. 14 ● Liquibase ● Flyway ● MyBatis ● And a few dead projects: ○ dbdeploy(2009) ○ Migratedb(2014) ○ migrate4j(2008) ○ dbmaintain(2011) ○ autopatch(2014) Database Migration Tools
  • 15. 15 ● We used to maintain DB scripts(text based) and add them manually to DB ● But there are more issues ○ easy to lost sync between code and DB state ○ hard to recover from error during development (ex: in case of applying wrong statement to DB) ○ often require to re-create DB from scratch during development ○ hard to find out state of particular DB environment ● For these issues, Liquibase/flyway is a good solution Why Database Migration tools ?
  • 20. Let’s focus on database for once 20
  • 21. Ever considered database migration? 21 Flyway
  • 22. 22 ● Solves only one problem and solves it well ● Lightweight and easy to set up ● Continuous delivery - migrate database changes on application startup or as a build pipeline ● Plain SQL update scripts ● Convention over configuration Flyway
  • 23. 23 ● Aurora MySQL ● Aurora PostgresSQL ● Azure Synapse ● Google BigQuery ● Cloud Spanner ● Cockroach DB ● DB2 ● Derby ● Firebird ● H2 ● HSQLDB ● Informix ● MariaDB Supported Databases ● MySQL ● Oracle ● Persona XtraDB cluster ● PostgresSQL ● Redshift ● SAP Hana ● Snowflake ● SQLIte ● SQL Server ● Sybase ASE ● Test Containers ● TimeScale DB ● TIDB ● YugaByte DB
  • 30. 30 ● Two types of Migrations ○ SQL-based ■ DDL Changes (CREATE/ALTER/DROP statements for tables, views, triggers, sequences) ■ Simple reference data changes (CRUD in reference data tables) ■ Simple bulk data changes (CRUD in regular data tables) ○ Java-based Flyway Migrations
  • 34. Flyway Migrations Naming 34 In order to be picked up by Flyway, SQL migrations must comply with the following naming pattern: ● Prefix: V for versioned (configurable), U for undo (configurable)and R for repeatable migrations (configurable) ● Version: Version with dots or underscores separate as many parts as you like (Not for repeatable migrations) ● Separator: __ (two underscores) (configurable) ● Description: Underscores or spaces separate the words ● Suffix: .sql (configurable)
  • 35. Where to store the migrations? 35
  • 36. Where to store the migrations? 36 Flyway discovers SQL-based migrations from one or more directories referenced by the locations property. ● Unprefixed locations or locations with the classpath: prefix target the Java classpath. ● Locations with the filesystem: prefix search the file system. ● Locations with the s3: prefix search AWS S3 buckets. To use AWS S3, the AWS SDK v2 and dependencies must be included, and configured for your S3 account. ● Locations with the gcs: prefix search Google Cloud Storage buckets. To use GCS, the GCS library must be included, and the GCS environment variable GOOGLE_APPLICATION_CREDENTIALS must be set to the credentials file for the service account that has access to the bucket.
  • 40. Flyway commands 40 Migrates the database Drops all objects in the configured schemas Prints the details and status information about all the migrations Validates the applied migrations against the ones available on the classpath Repairs the schema history table Baselines an existing database
  • 41. Demo
  • 42. Q&A
  • 43. 43 ●Nominate yourself for the next meetup speaker and suggest a topic as well. Take a Stand !
  • 44. Get ready to WIN a Special Gift from MuleSoft Community Quiz Time
  • 45. 45 ● Share: ○ Tweet your pictures using the hashtag #MuleSoftMeetup ○ Invite your network to join: https://meetups.mulesoft.com/delhi/ ● Feedback: ○ Fill out the survey feedback and suggest topics for upcoming events ○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program ○ Reach out to Delhi Meetup Leaders to suggest topics for next Meetup What’s Next ?
  • 46. 46 ● Anurag Sharma : https://www.linkedin.com/in/anurag-sharma-59745b20/ ● Ankit Lawaniya: https://www.linkedin.com/in/ankit-lawaniya/ ● Pryank Gupta: https://www.linkedin.com/in/gupta-pryank-24a1293b/ ● Abhay Aggarwal: https://www.linkedin.com/in/abhay-agarwal-851121112/ ● Minni Jajodia : https://www.linkedin.com/in/minni-jajodia/ Organizers : Contact us for any query related to Today’s Meetup
  • 47.
  • 48. Thank you Don’t forget to provide the Feedback of this meetup