Support Article
GenerateDDL.sh in 7.1.7 fails for unknown reason
SA-3454
Summary
Running ./generateDDL.sh --action install to generate the DDL for a new installation of PRPC 7.1 ML7 and it is failing.
Error Messages
Generating install ddl...
"./bin/ant" -Dpega.schemas= -Dbypass.pega.ddl.generation=false -Dinstall.temp.dir=./temp -Dcli.ddl.action="install" -f ./setupDatabase.xml "Commandline Generate DDL"
Buildfile: /opt/apps/PRPC7.1.7/scripts/setupDatabase.xml
Commandline Generate DDL:
Load Properties:
[pega:propertyparser] Reading Properties from : /opt/apps/PRPC7.1.7/scripts/setupDatabase.properties
Generate DDL:
[echo] rules.schema=v717rules
[echo] data.schema=v717data
BUILD FAILED
/opt/apps/PRPC7.1.7/scripts/setupDatabase.xml:1519: Directory /oracledate/install creation was not successful for an unknown reason
Total time: 0 seconds
Ant Process returned a non 0 value
Steps to Reproduce
./generateDDL.sh --action install
Root Cause
The root cause of this problem is a defect in Pegasystems’ code/rules.
In the generateddl.sh there is an optional parameter to specify the location of the generated DDL.
echo " --outputDir (Optional) The output directory for the scripts. Defaults"
echo " to {distributionImage}/schema/generated/{dbType}"
With the generateddl.sh script if this parameter is not set the default ends up being the root directory as the system property pega.schemas is passed in without a value.
Resolution
This issue is resolved through the following local change:
Include the --outputDir parameter on your command line and specify the location where you want the generated ddl to be written. If you are running from the scripts directory and want the generated ddl to go to the default location you can specifiy the parameter as ../schema/generated.
For example
./generateddl.sh --action install --outputDir ../schema/generated
In 7.1 ML8, a default gen_dir has been added to generateDDL.sh, so this won't be an issue anymore.
Published January 31, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.