14
Version Control for PL/SQL

RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

Version Control for PL/SQL

Page 2: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

Customer SpotlightSuccess Story:

Manages over 20,000 packages

Rhenus Logistics, leading logistics service company from Germany, uses this solution.

Packages are spread over 30+ schemas

System Architect Michiel Arentsen blogs about the project at: http://michielarentsen.blogspot.com/

Page 3: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

Agile

Page 4: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)
Page 5: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)
Page 6: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

How does it work?

Edit PL/SQL Objects as usual in your favorite editor.

Log in to Gitora in your editor (can be done automatically in most cases).

Use Gitora API’s or Gitora GUI to perform version control tasks.

A database trigger listens to DDL events.

Version control commands update the database.

Only executes what’s changed in the DB. (Very fast!)

Gitora consists of a DB schema and some Java.

Working Directory

Page 7: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

How does it work?

Edit PL/SQL Objects in your favorite editor.

Log in to Gitora in your editor.

API’s or GUI to perform tasks.

A database trigger listens to DDL events.

Executing version control commands update the database.

Only executes what’s changed in the DB. (Very fast!)

Gitora consists of a DB schema and some Java.

Working Directory

Page 8: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

version_control.login(…)

version_control.checkout(…)

version_control.release(…)

version_control.doCommit(in_repoName_tx…)

version_control.createBranch(in_repoName_tx…)

version_control.setActiveBranch(in_repoName_tx…)

version_control.merge(in_repoName_tx…)

version_control.pull(in_repoName1_tx…)

version_control.clone(in_repoName1_tx…)

Page 9: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

Key Features: • Enforces version control at database level. No way

around it. • Works with every tool (TOAD, SQL Developer etc…) • Creates an audit trail of who changed what, when

and why • Easy to use with a GUI. No need to be a Git expert • Enables edits to the same logical object by multiple

developers • Manages all database objects • Moves your changes between databases

automatically • Perform common version control tasks

Page 10: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

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

Page 11: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

PL/SQL Development with Version Control 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 DB level.

Source code is in Git

Automatic Script Generation

RELEASE TEST INTEGRATION QA

Development on DEV only. On some other DB’s bug fixes may be allowed.

Faster hot fixes Better automatic testing

Page 12: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

PL/SQL Development Step 2 with Version Control (One Repository)

Fewer Queues

Less Blocking

Less interruption

DEV1

Automatic deployment

PROD

Less intermingled projects, features

Basic branching and merging is possible

Source code is in Git

Automatic DDL Script Generation

RELEASE TEST HOTFIX INTEGRATION QA USER ACCEPTANCE PREPROD

Hot fixes delivered faster

DEV2N DEV servers DEV1, DEV2, DEV3,…DEVN

Better automatic testing

Development on DEV only. On some other DB’s bug fixes may be allowed.

Version control rules are enforced at the DB level.

Page 13: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

PL/SQL Development Step 3 with Version Control (One Repository)

No Queues

No Blocking

No Interruptions

Automatic deployment

PROD

No blocking between projects, features

Branching and merging is possible

Source code is in Git

Automatic DDL Script Generation

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. Each private environment can be switched to a branch.

Great automated testing

Version control rules are enforced at the DB level.

Page 14: RMOUG Version Control for Oracle - s3.amazonaws.com · Edit PL/SQL Objects as usual in your favorite editor. Log in to Gitora in your editor (can be done automatically in most cases)

Show Don’t Tell