scriptsfolderxml format

Compares and synchronizes SQL Server databases, backups and scripts.

Moderators: JonathanWatts, Chris Auckland, David Atkinson, eddie davis, Anu Deshpande, Michelle Taylor, alice.easey, james.billings, chengvoon.tong

scriptsfolderxml format

Postby ehuggz » Tue Aug 14, 2012 9:58 pm

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: Select all
<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: Select all
<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:&quot;${latest.scriptsfolder}&quot;\"/>
<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:&quot;PreUpgradeReport_Schema.html&quot;\"/>
<arg value=\"/ReportType:Simple\"/>
<arg value=\"/ScriptFile:&quot;UpgradeScript_Schema.sql&quot;\"/>
<arg value=\"/force\"/>
ehuggz
 
Posts: 7
Joined: Tue Aug 14, 2012 9:41 pm
Location: South Bend, IN

Postby mattwhetton » Fri Sep 14, 2012 10:07 am

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
mattwhetton
 
Posts: 4
Joined: Tue Aug 21, 2012 1:38 pm

Postby mattwhetton » Thu Sep 20, 2012 2:21 pm

Just by way of an update, I've stepped through this in a little more detail in and article on my blog (http://www.codenutz.com):

http://www.codenutz.com/2012/09/continuous-database-deployment-with-red.html

regards

Matt
mattwhetton
 
Posts: 4
Joined: Tue Aug 21, 2012 1:38 pm

Postby Brian Donahue » Thu Sep 20, 2012 3:39 pm

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
 
Posts: 6670
Joined: Mon Aug 23, 2004 10:48 am


Return to SQL Compare 10

Who is online

Users browsing this forum: No registered users and 0 guests