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

What's hot (9)

Thyroid in pregnancy
Thyroid in pregnancyThyroid in pregnancy
Thyroid in pregnancy
 
Jaundice in pregnancy
Jaundice in pregnancyJaundice in pregnancy
Jaundice in pregnancy
 
Hypothyroid Disorders in Obs & Gynae – Case based approach – Part -1
Hypothyroid Disorders in Obs & Gynae – Case based approach – Part -1 Hypothyroid Disorders in Obs & Gynae – Case based approach – Part -1
Hypothyroid Disorders in Obs & Gynae – Case based approach – Part -1
 
World Religions
World ReligionsWorld Religions
World Religions
 
Hypertensive in pregnancy
Hypertensive in pregnancyHypertensive in pregnancy
Hypertensive in pregnancy
 
Eclampsia preeclampsia
Eclampsia preeclampsia Eclampsia preeclampsia
Eclampsia preeclampsia
 
Antepartum haemorhage
Antepartum haemorhageAntepartum haemorhage
Antepartum haemorhage
 
Obtructed labour
Obtructed labourObtructed labour
Obtructed labour
 
Hyperemesis gravidarum. Nursing
Hyperemesis gravidarum. NursingHyperemesis gravidarum. Nursing
Hyperemesis gravidarum. Nursing
 

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

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Recently uploaded (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

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: