@echo off
Rem ===========================================================================
Rem Migrate Project
Rem Written by Praj Basnet & Copyright 2008.
Rem http://peoplesoft.wikidot.com/migrate-project
Rem ===========================================================================
Rem Runs Application Designer in command line mode to:
Rem 1) Compare the project between the source and target environments
Rem 2) Copy objects from the source to the target environment
Rem 3) Re-compare the project between the source and target environments
Rem 4) Generate a build script to build the project in the target environment
Rem ===========================================================================
Rem Command Line Usage
Rem ===========================================================================
Rem
Rem migrate_project [option] [project] [username] [password] [source] [target]
Rem
Rem [option] = COMPARE, COPY, EXPORT, BUILD or MIGRATE
Rem [project] = Application Designer Project Name
Rem [username] = Username to access both source and target environments
Rem [password] = Password to access both source and target environments
Rem [source] = Source database name
Rem [target] = Target database name
Rem
Rem See http://peoplesoft.wikidot.com/migrate-project for more information.
Rem
Rem ===========================================================================
if "%1"=="" goto usage
if "%2"=="" goto usage
if "%3"=="" goto usage
if "%4"=="" goto usage
if "%5"=="" goto usage
Rem ===========================================================================
Rem Define Variables and Display Program Header
Rem ===========================================================================
set option=%1
set project=%2
set user=%3
set pwd=%4
set srcdb=%5
set tgtdb=%6
Rem ===========================================================================
Rem Environment Setup
Rem ===========================================================================
Rem * pside should point to the path of the pside.exe
Rem * compare_path is where you want to store compare reports
Rem * copy_path is where you want to store copied project files
Rem * dbtype is the database platform you are using
Rem ===========================================================================
set pside=pside.exe
set compare_path=C:\PS\COMPARE\
set copy_path=C:\PS\COPY\
set copy_logfile=%copy_path%%project%.log
set export_path=C:\PS\EXPORT\
set dbtype=ORACLE
echo.
echo.
echo Migrate Project v1.0
echo Written by Praj Basnet
echo.
if "%1"=="COMPARE" goto compare
if "%1"=="COPY" goto copy
if "%1"=="EXPORT" goto export
if "%1"=="BUILD" goto build
if "%1"=="MIGRATE" goto migrate
goto usage
:compare
Rem ===========================================================================
Rem Compare project between Source & Target Environments
Rem ===========================================================================
Rem Check the user has specified a target database
if "%6"=="" goto usage
echo * Comparing %project% between %srcdb% and %tgtdb%
%pside% -HIDE -PJM %project% -CT %dbtype% -CO %user% -CP %pwd% -CD %srcdb% -TD %tgtdb% -TO %user% -TP %pwd% -QUIET -AF 0 -DDL 1 -PPL 0 -CFD 0 -CFF 0 -CMT 1 -TGT 1 -ROD %compare_path% -CMXML 1
echo.
echo Compare complete.
echo.
goto end
:copy
Rem ===========================================================================
Rem Copy project between Source & Target Databases
Rem ===========================================================================
Rem Check the user has specified a target database
if "%6"=="" goto usage
echo * Copying %project% from %srcdb% to %tgtdb%
%pside% -HIDE -PJC %project% -CT %dbtype% -CO %user% -CP %pwd% -CD %srcdb% -TD %tgtdb% -TO %user% -TP %pwd% -QUIET -AF 0 -DDL 1 -PPL 0 -CFD 0 -CFF 0 -LF %copy_logfile%
echo.
echo Copy between source and target databases complete.
echo.
goto end
:export
Rem ===========================================================================
Rem Export project to a file
Rem ===========================================================================
echo * Exporting %project% as a file. It will be stored in following location: %copy_path%%project%
%pside% -HIDE -PJTF %project% -FP %export_path% -CT %dbtype% -CO %user% -CP %pwd% -CD %srcdb% -QUIET -AF 0 -DDL 1 -PPL 0 -CFD 0 -CFF 0 -LF %copy_logfile%
echo.
echo Export complete.
echo.
goto end
:build
Rem ===========================================================================
Rem Build Project
Rem ===========================================================================
echo * Generating Build script for %project%. This will created in %Temp%
%pside% -HIDE -PJB %project% -CT %dbtype% -CO %user% -CP %pwd% -CD %tgtdb%
echo.
echo Build complete.
echo.
goto end
:migrate
Rem ===========================================================================
Rem Step 1: Compare project between Source & Target Environments
Rem ===========================================================================
Rem Check the user has specified a target database
if "%6"=="" goto usage
echo * Comparing %project% between %srcdb% and %tgtdb%
%pside% -HIDE -PJM %project% -CT %dbtype% -CO %user% -CP %pwd% -CD %srcdb% -TD %tgtdb% -TO %user% -TP %pwd% -QUIET -AF 0 -DDL 1 -PPL 0 -CFD 0 -CFF 0 -CMT 1 -TGT 1 -ROD %compare_path% -CMXML 1
Rem ===========================================================================
Rem Step 2: Copy project between Source & Target Environments
Rem ===========================================================================
echo * Copying %project% from %srcdb% to %tgtdb%
%pside% -HIDE -PJC %project% -CT %dbtype% -CO %user% -CP %pwd% -CD %srcdb% -TD %tgtdb% -TO %user% -TP %pwd% -QUIET -AF 0 -DDL 1 -PPL 0 -CFD 0 -CFF 0 -LF %copy_logfile%
Rem ===========================================================================
Rem Step 3: Build Project
Rem ===========================================================================
echo * Generating Build script for %project%. This will created in %Temp%
%pside% -HIDE -PJB %project% -CT %dbtype% -CO %user% -CP %pwd% -CD %tgtdb%
Rem ===========================================================================
Rem Step 4: Re-Compare project between Source & Target Environments
Rem ===========================================================================
echo * Re-Comparing %project% between %tgtdb% and %srcdb%
%pside% -HIDE -PJM %project% -CT %dbtype% -CO %user% -CP %pwd% -CD %tgtdb% -TD %srcdb% -TO %user% -TP %pwd% -QUIET -AF 0 -DDL 1 -PPL 0 -CFD 0 -CFF 0 -CMT 1 -TGT 1 -ROD %compare_path% -CMXML 1
echo.
echo Copy complete. Manual steps to perform now are:
echo * Check compare reports in %compare_path%CompareViewer.html
echo * Build project in target environment
echo.
goto end
:usage
echo.
echo Incorrect Parameters. Please refer to usage below:
echo.
echo migrate_project [option] [project] [username] [password] [source] [target]
echo.
echo [option] = COMPARE, COPY, EXPORT, BUILD or MIGRATE
echo [project] = Application Designer Project Name
echo [username] = Username to access both source and target environments
echo [password] = Password to access both source and target environments
echo [source] = Source database name
echo [target] = Target database name
echo.
echo See http://peoplesoft.wikidot.com/migrate-project for more information.
echo.
:end
No comments:
Post a Comment