SlideShare a Scribd company logo
1 of 19
Download to read offline
Version Control for PL/SQL
About Gerger
Gitora
Manage your PL/SQL code with Git
Hundreds of customers in 30+ countries.
yalim.gerger@gerger.co
http://www.gitora.com
Contact me for a free consultation:
• What is the problem?
• How did we solve it?
• Demo!!
• Implementation Strategies
Customer SpotlightSuccess Story: (In other words, this really works. :-) )
Manages over 20,000 database objects
Rhenus Logistics, leading logistics service company from
Germany, uses our solution.
Database objects are spread over 30+ schemas
Continuous delivery implementation
Errors during deployment will reduce by 95%.
You’ll be one of the pioneers.
You’ll deploy to production twice as often.
If you implement version control for DB Development:
Ready to tackle continuous delivery.
PL/SQL is not a file-based programming language.
Version Control is a solved problem in file-based languages.
The version control systems are almost exclusively concerned
with file-based programming languages.
Facts:
We need to find a way to bridge the database to these version
control systems.
Best path forward
Git is a distributed version control system (unlike SVN)
Facts about Git:
Two types of objects:
CREATE
CREATE OR REPLACE
Code is 90% of the problem.
Facts about database development:
This is how best developers work with Git
This is how best developers work with Git
No Queues
No Blocking
No Interruptions
Automatic deployment
No blocking between projects, features
Branching and merging is possible
Version control rules are enforced by the deployment pipeline
Source code is in Git
Faster hot fixes
Great automated testing
1..N developers
N Project A Servers N Project X Servers
Stage 1 Stage N
Deploy to Production
Every developer works in a
private environment in her
own WORKING DIRECTORY.
She has the full repository
with its full history locally.
N levels of upstream integration
N Projects
Traditional PL/SQL Development
Queued access
Blocking
Interrupting
DEV RELEASE
TEST
INTEGRATION
QA
Manual deployment
USER ACCEPTANCE PREPROD PROD
Intermingled projects, features, hot fixes
Practically impossible to branch, merge
Developers are expected to follow version management rules manually.
Version control repo is a last resort back up
or any other version control system
1..n database servers
Manual
No automated testing
DB is the WORKING DIRECTORY
Constraints we live in:
Very little change to the workflow
DBA
Cannot enforce a development tool
No private environment on day one
Minimal intrusion
We need to find a way to bridge the database to existing version
control software.
Edit PL/SQL Objects as usual in your favorite editor.
Log in to your own bridge in the editor (can be done automatically in most
cases).
Use bridge API’s or bridge GUI to perform version control tasks.
A database trigger listens to DDL events.
Version control commands update the database.
Only executes what’s changes in the DB. (Very fast!)
Bridge consists of a DB schema and some Java.
Create a Working Directory in the OS that is synced with the code in the Database.
DEV TEST
PL/SQL Development with Git Step 1 (One Repository)
Queued access
Blocking
Interrupting
DEV
Automatic deployment
USER ACCEPTANCE
HOTFIX
PREPROD PROD
Intermingled projects, features
Basic branching and merging is possible for hot fixes
Version control rules are enforced at the database level.
Source code is in Git
Automatic Script Generation with Git
RELEASE
TEST
INTEGRATION
QA
Development on DEV
only. On some other DB’s
bug fixes may be allowed.
Faster hot fixes Better automatic testing
PL/SQL Development Step 2 with Git (One Repository)
Fewer Queues
Less Blocking
Less interruption
DEV1
Automatic deployment
PROD
Less intermingled projects, features
Basic branching and merging is possible
Version control rules are enforced at the DB level and managed by a release manager.
Source code is in Git
Automatic DDL Script
Generation from Git
RELEASE
TEST
HOTFIX
INTEGRATION
QA
USER ACCEPTANCE
PREPROD
Hot fixes delivered faster
DEV2
N DEV servers
DEV1, DEV2,
DEV3,…DEVN
Better automatic testing
PL/SQL Development Step 3 with Gitora: Implement Any Git Workflow (One Repository)
No Queues
No Blocking
No Interruptions
Automatic deployment
PROD
No blocking between projects, features
Branching and merging is possible
Version control rules are enforced at the DB level and managed by a release manager.
Source code is in Git
Automatic DDL Script
Generation with Git
RELEASE
TEST
HOTFIX
INTEGRATION
QA
USER ACCEPTANCE
PREPROD
Faster hot fixes
Project Server [1..N]
RELEASE
TEST
INTEGRATION
QA
Every developer works in a
private environment.
Great automated testing
Demo!!!!
Fewer Queues
Less Blocking
Less interruption
DEV1
Automatic deployment
Less intermingled projects, features
Basic branching and merging is possible
Version control rules are enforced at the DB level and managed by a release manager.
Source code is in Git
PREPROD
Hot fixes delivered faster
DEV2
Better automatic testing
Demo Setup (One Repository)
About Gerger
Gitora
Manage your PL/SQL code with Git
Hundreds of customers in 30+ countries.
yalim.gerger@gerger.co
http://www.gitora.com
Contact me for a free consultation:

More Related Content

What's hot

Container house catalogue
Container house catalogueContainer house catalogue
Container house catalogueRobin Luo
 
Ficha de revisão
Ficha de revisãoFicha de revisão
Ficha de revisãoMINEDU
 
8ºano cn teste fatores abióticos
8ºano cn teste fatores abióticos8ºano cn teste fatores abióticos
8ºano cn teste fatores abióticossilvia_lfr
 
Ficha formativa -_graus_dos_adjectivos irregulares e palavras cruzadas
Ficha formativa -_graus_dos_adjectivos irregulares e palavras cruzadasFicha formativa -_graus_dos_adjectivos irregulares e palavras cruzadas
Ficha formativa -_graus_dos_adjectivos irregulares e palavras cruzadasTeresa Rocha
 
Mastering Hadoop Map Reduce - Custom Types and Other Optimizations
Mastering Hadoop Map Reduce - Custom Types and Other OptimizationsMastering Hadoop Map Reduce - Custom Types and Other Optimizations
Mastering Hadoop Map Reduce - Custom Types and Other Optimizationsscottcrespo
 

What's hot (8)

Container house catalogue
Container house catalogueContainer house catalogue
Container house catalogue
 
Ficha de revisão
Ficha de revisãoFicha de revisão
Ficha de revisão
 
8ºano cn teste fatores abióticos
8ºano cn teste fatores abióticos8ºano cn teste fatores abióticos
8ºano cn teste fatores abióticos
 
Oracle General Ledger GL FSG
Oracle General Ledger GL FSG Oracle General Ledger GL FSG
Oracle General Ledger GL FSG
 
Accruals and accounting
Accruals and accountingAccruals and accounting
Accruals and accounting
 
Ficha formativa -_graus_dos_adjectivos irregulares e palavras cruzadas
Ficha formativa -_graus_dos_adjectivos irregulares e palavras cruzadasFicha formativa -_graus_dos_adjectivos irregulares e palavras cruzadas
Ficha formativa -_graus_dos_adjectivos irregulares e palavras cruzadas
 
P90x plus worksheets
P90x plus worksheetsP90x plus worksheets
P90x plus worksheets
 
Mastering Hadoop Map Reduce - Custom Types and Other Optimizations
Mastering Hadoop Map Reduce - Custom Types and Other OptimizationsMastering Hadoop Map Reduce - Custom Types and Other Optimizations
Mastering Hadoop Map Reduce - Custom Types and Other Optimizations
 

Similar to Version control for PL/SQL

Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGerger
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGerger
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGerger
 
Introducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQLIntroducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQLGerger
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps JumpstartOri Donner
 
Alm tce parallel development
Alm tce parallel developmentAlm tce parallel development
Alm tce parallel developmentshalom938
 
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdf
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdfManaging Software Dependencies and the Supply Chain_ MIT EM.S20.pdf
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdfAndrew Lamb
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing selfChen-Tien Tsai
 
Gradle(the innovation continues)
Gradle(the innovation continues)Gradle(the innovation continues)
Gradle(the innovation continues)Sejong Park
 
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Edureka!
 
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...Simplilearn
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | MindtreeAnikeyRoy
 
GitLab Integration Adapter - Datasheet
GitLab Integration Adapter - DatasheetGitLab Integration Adapter - Datasheet
GitLab Integration Adapter - DatasheetKovair
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life DevOps.com
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal infoSynapseindiappsdevelopment
 
The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationDBmaestro - Database DevOps
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOpsAbdullah al Mamun
 
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHubIncrease the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHubDevOps.com
 
Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics 丈 宮本
 

Similar to Version control for PL/SQL (20)

Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQL
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQL
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQL
 
Introducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQLIntroducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQL
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
Alm tce parallel development
Alm tce parallel developmentAlm tce parallel development
Alm tce parallel development
 
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdf
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdfManaging Software Dependencies and the Supply Chain_ MIT EM.S20.pdf
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdf
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing self
 
Gradle(the innovation continues)
Gradle(the innovation continues)Gradle(the innovation continues)
Gradle(the innovation continues)
 
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
 
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | Mindtree
 
GitLab Integration Adapter - Datasheet
GitLab Integration Adapter - DatasheetGitLab Integration Adapter - Datasheet
GitLab Integration Adapter - Datasheet
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
 
The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automation
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
 
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHubIncrease the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
 
Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics
 

More from Gerger

Source Control for the Oracle Database
Source Control for the Oracle DatabaseSource Control for the Oracle Database
Source Control for the Oracle DatabaseGerger
 
Big Data for Oracle Professionals
Big Data for Oracle ProfessionalsBig Data for Oracle Professionals
Big Data for Oracle ProfessionalsGerger
 
Apache Spark, the Next Generation Cluster Computing
Apache Spark, the Next Generation Cluster ComputingApache Spark, the Next Generation Cluster Computing
Apache Spark, the Next Generation Cluster ComputingGerger
 
Best Way to Write SQL in Java
Best Way to Write SQL in JavaBest Way to Write SQL in Java
Best Way to Write SQL in JavaGerger
 
PostgreSQL for Oracle Developers and DBA's
PostgreSQL for Oracle Developers and DBA'sPostgreSQL for Oracle Developers and DBA's
PostgreSQL for Oracle Developers and DBA'sGerger
 
Shaping Optimizer's Search Space
Shaping Optimizer's Search SpaceShaping Optimizer's Search Space
Shaping Optimizer's Search SpaceGerger
 
Monitoring Oracle Database Instances with Zabbix
Monitoring Oracle Database Instances with ZabbixMonitoring Oracle Database Instances with Zabbix
Monitoring Oracle Database Instances with ZabbixGerger
 
Introducing ProHuddle
Introducing ProHuddleIntroducing ProHuddle
Introducing ProHuddleGerger
 
Use Cases of Row Pattern Matching in Oracle 12c
Use Cases of Row Pattern Matching in Oracle 12cUse Cases of Row Pattern Matching in Oracle 12c
Use Cases of Row Pattern Matching in Oracle 12cGerger
 

More from Gerger (9)

Source Control for the Oracle Database
Source Control for the Oracle DatabaseSource Control for the Oracle Database
Source Control for the Oracle Database
 
Big Data for Oracle Professionals
Big Data for Oracle ProfessionalsBig Data for Oracle Professionals
Big Data for Oracle Professionals
 
Apache Spark, the Next Generation Cluster Computing
Apache Spark, the Next Generation Cluster ComputingApache Spark, the Next Generation Cluster Computing
Apache Spark, the Next Generation Cluster Computing
 
Best Way to Write SQL in Java
Best Way to Write SQL in JavaBest Way to Write SQL in Java
Best Way to Write SQL in Java
 
PostgreSQL for Oracle Developers and DBA's
PostgreSQL for Oracle Developers and DBA'sPostgreSQL for Oracle Developers and DBA's
PostgreSQL for Oracle Developers and DBA's
 
Shaping Optimizer's Search Space
Shaping Optimizer's Search SpaceShaping Optimizer's Search Space
Shaping Optimizer's Search Space
 
Monitoring Oracle Database Instances with Zabbix
Monitoring Oracle Database Instances with ZabbixMonitoring Oracle Database Instances with Zabbix
Monitoring Oracle Database Instances with Zabbix
 
Introducing ProHuddle
Introducing ProHuddleIntroducing ProHuddle
Introducing ProHuddle
 
Use Cases of Row Pattern Matching in Oracle 12c
Use Cases of Row Pattern Matching in Oracle 12cUse Cases of Row Pattern Matching in Oracle 12c
Use Cases of Row Pattern Matching in Oracle 12c
 

Recently uploaded

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 

Recently uploaded (20)

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 

Version control for PL/SQL

  • 2. About Gerger Gitora Manage your PL/SQL code with Git Hundreds of customers in 30+ countries. yalim.gerger@gerger.co http://www.gitora.com Contact me for a free consultation:
  • 3. • What is the problem? • How did we solve it? • Demo!! • Implementation Strategies
  • 4. Customer SpotlightSuccess Story: (In other words, this really works. :-) ) Manages over 20,000 database objects Rhenus Logistics, leading logistics service company from Germany, uses our solution. Database objects are spread over 30+ schemas Continuous delivery implementation
  • 5. Errors during deployment will reduce by 95%. You’ll be one of the pioneers. You’ll deploy to production twice as often. If you implement version control for DB Development: Ready to tackle continuous delivery.
  • 6. PL/SQL is not a file-based programming language. Version Control is a solved problem in file-based languages. The version control systems are almost exclusively concerned with file-based programming languages. Facts: We need to find a way to bridge the database to these version control systems.
  • 7. Best path forward Git is a distributed version control system (unlike SVN) Facts about Git:
  • 8. Two types of objects: CREATE CREATE OR REPLACE Code is 90% of the problem. Facts about database development:
  • 9. This is how best developers work with Git
  • 10. This is how best developers work with Git No Queues No Blocking No Interruptions Automatic deployment No blocking between projects, features Branching and merging is possible Version control rules are enforced by the deployment pipeline Source code is in Git Faster hot fixes Great automated testing 1..N developers N Project A Servers N Project X Servers Stage 1 Stage N Deploy to Production Every developer works in a private environment in her own WORKING DIRECTORY. She has the full repository with its full history locally. N levels of upstream integration N Projects
  • 11. Traditional PL/SQL Development Queued access Blocking Interrupting DEV RELEASE TEST INTEGRATION QA Manual deployment USER ACCEPTANCE PREPROD PROD Intermingled projects, features, hot fixes Practically impossible to branch, merge Developers are expected to follow version management rules manually. Version control repo is a last resort back up or any other version control system 1..n database servers Manual No automated testing DB is the WORKING DIRECTORY
  • 12. Constraints we live in: Very little change to the workflow DBA Cannot enforce a development tool No private environment on day one Minimal intrusion We need to find a way to bridge the database to existing version control software.
  • 13. Edit PL/SQL Objects as usual in your favorite editor. Log in to your own bridge in the editor (can be done automatically in most cases). Use bridge API’s or bridge GUI to perform version control tasks. A database trigger listens to DDL events. Version control commands update the database. Only executes what’s changes in the DB. (Very fast!) Bridge consists of a DB schema and some Java. Create a Working Directory in the OS that is synced with the code in the Database. DEV TEST
  • 14. PL/SQL Development with Git Step 1 (One Repository) Queued access Blocking Interrupting DEV Automatic deployment USER ACCEPTANCE HOTFIX PREPROD PROD Intermingled projects, features Basic branching and merging is possible for hot fixes Version control rules are enforced at the database level. Source code is in Git Automatic Script Generation with Git RELEASE TEST INTEGRATION QA Development on DEV only. On some other DB’s bug fixes may be allowed. Faster hot fixes Better automatic testing
  • 15. PL/SQL Development Step 2 with Git (One Repository) Fewer Queues Less Blocking Less interruption DEV1 Automatic deployment PROD Less intermingled projects, features Basic branching and merging is possible Version control rules are enforced at the DB level and managed by a release manager. Source code is in Git Automatic DDL Script Generation from Git RELEASE TEST HOTFIX INTEGRATION QA USER ACCEPTANCE PREPROD Hot fixes delivered faster DEV2 N DEV servers DEV1, DEV2, DEV3,…DEVN Better automatic testing
  • 16. PL/SQL Development Step 3 with Gitora: Implement Any Git Workflow (One Repository) No Queues No Blocking No Interruptions Automatic deployment PROD No blocking between projects, features Branching and merging is possible Version control rules are enforced at the DB level and managed by a release manager. Source code is in Git Automatic DDL Script Generation with Git RELEASE TEST HOTFIX INTEGRATION QA USER ACCEPTANCE PREPROD Faster hot fixes Project Server [1..N] RELEASE TEST INTEGRATION QA Every developer works in a private environment. Great automated testing
  • 18. Fewer Queues Less Blocking Less interruption DEV1 Automatic deployment Less intermingled projects, features Basic branching and merging is possible Version control rules are enforced at the DB level and managed by a release manager. Source code is in Git PREPROD Hot fixes delivered faster DEV2 Better automatic testing Demo Setup (One Repository)
  • 19. About Gerger Gitora Manage your PL/SQL code with Git Hundreds of customers in 30+ countries. yalim.gerger@gerger.co http://www.gitora.com Contact me for a free consultation: