Presentation is loading. Please wait.

Presentation is loading. Please wait.

Version Control for PL/SQL

Similar presentations


Presentation on theme: "Version Control for PL/SQL"— Presentation transcript:

1 Version Control for PL/SQL

2 About the Company What is the problem? How did we solve it? Demo!! Implementation Strategies

3 yalim.gerger@gerger.co About Gerger Formspider Gitora
We help Oracle Database customers catch up to modern technology. Formspider Application development framework for Oracle PL/SQL developers. First Class Web and Mobile Applications with only PL/SQL as the programming language. Gitora Tool to manage your PL/SQL code base with Git. Hundreds of customers in 30+ countries. Offices in California, St. Louis in US and Istanbul in Europe.

4 (Formerly ING Insurance).
Turkish Telco. Argentina. Government of Rio Negro. Forms Modernisation. Germany US. Global manufacturer of equipment used in product assembly US Fortune 5 Company Netherlands United Kingdom

5 Azerbaijan. Core Banking
Italy Lithuania Russia. Metkombank Germany Greece Italy Czech Republic .Logistics ERP Germany Russia Peru. Financial Systems

6 Version Control is a difficult topic to talk about in the PL/SQL Community.
Common version control tools are not available to PL/SQL developers. Every team created its own “system” that sort of kind of works until it doesn’t. Version Control of PL/SQL is confused with version control of tables.

7 We can’t deploy as fast as other developers.
We can’t work together like other developer do. We loose code more often. We can’t respond to changes in business as quickly as other developers. We can’t work as productively as other developers. It is harder for us to test our code automatically. Moving code is more error prone.

8 Enforce version control in the database.
Lock PL/SQL objects in the database. (and still continue using your favourite PL/SQL editor.) Commit changes to PL/SQL objects to Git. Move your changes between databases automatically. Apply common version control commands such as merge, branch, reset to the code in the database. (The PL/SQL in the DB changes automatically.) Manage packages, functions, procedures, views, triggers, synonyms and object types in Git.

9 Customer Spotlight http://michielarentsen.blogspot.com/ Success Story:
Rhenus Logistics, leading logistics service company from Germany, uses our solution. Manages over 20,000 database objects Database objects are spread over 30+ schemas System Architect/Team Lead Michiel Arentsen blogs about our solution at:

10 DEV Traditional PL/SQL Development Queued access Manual deployment
or any other version control system 1..n database servers DEV RELEASE TEST INTEGRATION QA USER ACCEPTANCE PREPROD PROD Queued access Manual deployment Version control repo is a last resort back up Blocking Intermingled projects, features, hot fixes No automated testing Interrupting Practically impossible to branch, merge Developers are expected to follow version management rules manually.

11 We are missing a Git - Oracle bridge!!!
How does it work? We are missing a Git - Oracle bridge!!! 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. Bridge consists of a DB schema and some Java. Only executes what’s changes in the DB. (Very fast!)

12 Demo!!!!

13 DEV1 DEV2 PREPROD Demo Setup (One Repository)
Person responsible of releases (manages all code in all Database Instances) DEV1 DEV2 PREPROD This can be any intermediate server between PROD and DEV

14 DEV Traditional PL/SQL Development Queued access Manual deployment
or any other version control system 1..n database servers DEV RELEASE TEST INTEGRATION QA USER ACCEPTANCE PREPROD PROD Queued access Manual deployment Version control repo is a last resort back up Blocking Intermingled projects, features, hot fixes No automated testing Interrupting Practically impossible to branch, merge Developers are expected to follow version management rules manually.

15 DEV PL/SQL Development with Gitora Step 1 (One Repository)
Person responsible for releases (manages all code in all Database Instances) Development on DEV only. On some other DB’s bug fixes may be allowed. Automatic Script Generation with Gitora RELEASE TEST INTEGRATION QA DEV USER ACCEPTANCE HOTFIX PREPROD PROD Queued access Automatic deployment Source code is in Gitora Blocking Intermingled projects, features Faster hot fixes Better automatic testing Interrupting Basic branching and merging is possible for hot fixes Version control rules are enforced at the DB level and managed by a release manager.

16 DEV1 DEV2 PL/SQL Development Step 2 with Gitora (One Repository)
Person responsible of releases (manages all code in all Database Instances) Development on DEV only. On some other DB’s bug fixes may be allowed. Automatic DDL Script Generation with Gitora N DEV servers DEV1, DEV2, DEV3,…DEVN RELEASE TEST HOTFIX INTEGRATION QA USER ACCEPTANCE PREPROD PROD DEV1 DEV2 Fewer Queues Automatic deployment Source code is in Gitora Less Blocking Less intermingled projects, features Hot fixes delivered faster Less interruption Basic branching and merging is possible Better automatic testing Version control rules are enforced at the DB level and managed by a release manager.

17 PL/SQL Development Step 3 with Gitora: Implement Any Git Workflow (One Repository)
Person responsible of releases (manages all code in all Database Instances) Every developer works in a private environment. Each private environment can be switched to a branch. Automatic DDL Script Generation with Gitora RELEASE TEST INTEGRATION QA RELEASE TEST HOTFIX INTEGRATION QA USER ACCEPTANCE PREPROD PROD Project Server [1..N] No Queues Automatic deployment Source code is in Gitora No Blocking No blocking between projects, features Faster hot fixes No Interruptions Branching and merging is possible Great automated testing Version control rules are enforced at the DB level and managed by a release manager.

18 DEV1 DEV2 PREPROD Demo Setup (One Repository) Better automatic testing
Person responsible of releases (manages all code in all Database Instances) DEV1 DEV2 PREPROD This can be any intermediate server between PROD and DEV Fewer Queues Automatic deployment Source code is in Gitora Less Blocking Less intermingled projects, features Hot fixes delivered faster Less interruption Basic branching and merging is possible Better automatic testing Version control rules are enforced at the DB level and managed by a release manager.

19

20 You can choose a workflow that fits your organization best.
Centralised Workflow Feature Branch Workflow Gitflow Workflow

21 Thank You!!!!


Download ppt "Version Control for PL/SQL"

Similar presentations


Ads by Google