I perform my production regenerations at night (usually 2 or
3 times a month). It is usually not the
most focused time (my 2 year daughter and my wife typically distract me from
being singularly focused on my regeneration).
While at a high level, a regeneration of views can be a
relatively simple thing (especially if you have all your new xu2/xu5 scripts added
to the install home during the day). Yet, there are enough opportunities to mess
things ups (script versioning and retention, adherence to standard regeneration
process).
It is extremely
important that this regeneration process for production is well defined and consistently
implemented.
What I have been doing the last couple of regenerations is
creating a “regeneration notes” document and annotating any issues. Should there be any issues when you push all
of your development through a software development lifecycle (good design, unit
testing and UAT)? No, but does it
happen? Yes.
I document moving all my scripts that are being promoted to PVCS
(my versioning software), Noetix Custom folder, and production instance
folder. I document any problems I notice
during my regeneration (e.g. missing grants).
The value I find in doing this is that when I start
preparing for my next regeneration in production, I can check my notes (to make
sure all code was promoted to the appropriate places…PVCS, Noetix Custom folder
and instance homes). If I had any
problems which need to be fixed, it reminds me of these problems so that I resolve
the problem with my next regeneration.
The day after production
regeneration, I like to compare my production instance home with my Noetix
custom folder to make sure there are no discrepancies. I love using Microsoft PowerShell to do this.
Here is my power shell script:
$pathNoetixCustom
= Get-Item "\\cmntx02\NOETIX_HOME\NoetixViews 6.0.1 - ERP\Installs\NOETIX_SYS_erpdev\*xu2.sql"
# this is my
production install home
foreach
($xu2ScriptCustom in $pathNoetixCustom)
{$NameNoetixCustom
= $xu2ScriptCustom.Name
$LastWriteCustom
=$xu2ScriptCustom.LastWriteTime
$pathInstance = Get-Item "\\cmntx02\NOETIX_HOME\NoetixViews 6.0.1
- ERP\Master\Custom\*xu2.sql"
# this is my
Noetix custom folder
foreach ($xu2ScriptInstance in $pathInstance)
{$NameInstance = $xu2ScriptInstance.Name
$LastWriteInstance
=$xu2ScriptInstance.LastWriteTime
if ($NameNoetixCustom -eq $NameInstance
-And -Not($LastWriteCustom -eq $LastWriteInstance)) {$NameNoetixCustom
$xu2ScriptCustom |
Select-Object LastWriteTime
$xu2ScriptInstance
| Select-Object LastWriteTime
}
}
}
You would
want to replace the Noetix custom home and the install home paths with
yours. I could have used a parameter
(this is a small change), but I have not done this here.
In summary, note taking after regeneration can help hone the
process and makes me more equipped to be cognizant and fix recurring problems
(even minor). My user community demand
high availability and a stable environment and note taking helps me do this.
No comments:
Post a Comment