I am working on the design of an upgrade framework for upgrading our database applications. We are writing this application in object-oriented Perl.
We need to install the upgrade in phases. I realized that our upgrade process is a candidate for the Command Design Pattern.
We perform the upgrade in a series of phases and need the ability to rollback phases. We need the phases to be able to execute SQL, makefiles, Perl scripts, Ksh scripts, etc. If we restart the upgrade it should keep its state and return to the last completed phase. We also need to be able to log every action.
Being new to Design Patterns, I am looking for examples of the Command Design Pattern in Perl. I am also looking for pointers on the best way to design this upgrade framework.
Futhermore, are there any pre-existing Perl upgrade tools that are open source? We are using Quest Schema Manager to find schema differences: http://www.quest.com/schema_manager/
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.