| Author |
Message |
ehuggz
Joined: 14 Aug 2012 Posts: 7 Location: South Bend, IN
|
Posted: Tue Aug 14, 2012 9:58 pm Post subject: scriptsfolderxml format |
|
|
I am working through the NANT scripts provided by my Red Gate Salesman for CI Automation with TeamCity and am having some issue with the upgradescript.build file section"generate_upgrade_script_schema" which access the source repository directly via the /scriptsfolderxml flag.
I get "Error: The file <path>LocationToTesting.xml containing the script folder location XML fragment could not be parsed."
I tried several of the suggestions for the scriptsfolderxml format, even copying the <ScriptFolderLocation></ScriptFolderLocation> section from the project file generated by the UI after comparing Source to DB successfully.
SQL Compare is version: 10.2.0.1337
The scriptsfolderxml file is "LocationToFile.xml"
and presently contains the information below (I've tried many combinations).
Does anyone know the exact format required for the /scriptsfolderxml flag when accessing TFS2010?
| Code: |
<ScriptFolderLocation>
<!--
SQL Compare
SQL Compare
Version:10.2.0.1337-->
<ISOCCompareLocation version="1" type="TfsLocation">
<ServerUrl>http://pin-tfs2010:8080/tfs2010/ssdtprojects</ServerUrl>
<SourceControlFolder>$/AWS2008LT/AWS2008LT</SourceControlFolder>
</ISOCCompareLocation>
</ScriptFolderLocation> |
The NANT section in question is:
| Code: |
<property name="migration.folder" value="Migrations" overwrite="false" />
<property name="production.revision" value="3" overwrite="false" />
<property name="ci.server" value="WEB01" overwrite="false" />
<property name="ci.database" value="AdventureWorks_TeamCity" overwrite="false" />
<property name="ci.workingdirectory" value="${environment::get-variable('CHECKOUTDIR')}" overwrite ="false" />
<property name="ci.user" value="AB" overwrite="false" />
<property name="ci.pw" value="P1" overwrite="false" />
<property name="ci.versioncontroluser" value="tc" overwrite="false" />
<property name="ci.versioncontrolpw" value="B3" overwrite="false" />
<property name="latest.scriptsfolder" value="${environment::get-variable('checkoutDir')}\AWS2008LT" overwrite="false" />
<property name="repo.location.xml" value="${ci.workingdirectory}\NantBuildScripts\LocationToTesting.xml" overwrite="false" />
<property name="latest.revision" value="${environment::get-variable('BUILD_NUMBER')}" overwrite="false" />
<exec program="${sqlcompare.executable}" resultproperty="returncode" failonerror="false">
<arg value="/scripts1:"${latest.scriptsfolder}""/>
<arg value="/revision1:${latest.revision}"/>
<arg value="/sourcecontrol2"/>
<arg value="/revision2:${production.revision}"/>
<arg value="/scriptsfolderxml:${repo.location.xml}"/>
<arg value="/migrationfolder:${migration.folder}"/>
<arg value="/AbortOnWarnings:high"/>
<arg value="/options:Default,IgnoretSQLt"/>
<arg value="/ShowWarnings"/>
<arg value="/verbose"/>
<arg value="/Report:"PreUpgradeReport_Schema.html""/>
<arg value="/ReportType:Simple"/>
<arg value="/ScriptFile:"UpgradeScript_Schema.sql""/>
<arg value="/force"/> |
|
|
| Back to top |
|
 |
mattwhetton
Joined: 21 Aug 2012 Posts: 4
|
Posted: Fri Sep 14, 2012 10:07 am Post subject: |
|
|
I'm actually working in a TFS environment, but I think I've just worked this out!
You were almost there when you copied the ScriptFolderLocation section:
I copied the contents of that section (which is xml encoded), ran it through an xml decoder (like here: http://coderstoolbox.net/string/) and then saved it to a file. Then I pointed the scriptsfolderxml flag at the file I just created.
I had to do a bit more work to get the migration folder bits to work but this got me started. I'll try to write a blog article on what I've done when I get chance.
Matt |
|
| Back to top |
|
 |
mattwhetton
Joined: 21 Aug 2012 Posts: 4
|
|
| Back to top |
|
 |
Brian Donahue
Joined: 23 Aug 2004 Posts: 6369 Location: Red Gate Software
|
Posted: Thu Sep 20, 2012 3:39 pm Post subject: |
|
|
Hi,
I did some work with this last week, and I think the long and the short of it is, the <ServerUrl> element is just the base URL for the server and the <SourceControlFolder> contains only the relative path. _________________ Brian Donahue
Technical Support
Red Gate Software Ltd.
44 (0)870 160 0037 ext 8521
US and CAN 1-866-RED GATE ext 8521 |
|
| Back to top |
|
 |
|
|
All times are GMT + 1 Hour
|
| Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group