0

我有 3 个使用带有 SVN 的 RedGate SQL 源代码控制的 SQL Sever 数据库。当我创建自定义迁移脚本时,它会被 3 个数据库中的 1 个提取,但不会被另一个提取。这是我正在使用的命令行:

"C:\Program Files (x86)\Red Gate\SQL Compare 10\sqlcompare" /server1:dev03 /db1:Dev_CORE /version1:head /server2:testsql01 /db2:Test_Core /username2:foo /password2:bar /ScriptFile: "C:\MigrationScriptCore.sql" /Force /verbose

4

1 回答 1

3

Redgate 使用 SQL Server 扩展属性来确定数据库的 SVN 版本,以及在哪里可以找到它需要运行以更新数据库的脚本。真正愚蠢的是,这些扩展属性是区分大小写的。所以我的开发数据库中的 SVN 路径是:

SQLSourceControl 迁移脚本位置

<?xml version="1.0" encoding="utf-16" standalone="yes"?>
<ISOCCompareLocation version="1" type="SvnLocation">
  <RepositoryUrl>http://svn.company.com/svn/**DIR1**/trunk/Database/Core/MigrationScripts/</RepositoryUrl>
</ISOCCompareLocation>

在我的测试数据库中是:

SQLSourceControl 迁移脚本位置

<?xml version="1.0" encoding="utf-16" standalone="yes"?>
<ISOCCompareLocation version="1" type="SvnLocation">
  <RepositoryUrl>http://svn.company.com/svn/**dir1**/trunk/Database/Core/MigrationScripts/</RepositoryUrl>
</ISOCCompareLocation>

redgate 的人无法立即解决我的问题,但经过大量试验和错误后,我终于找到了属于我自己的问题。希望这会为一些人节省很多时间!

干杯。

于 2012-10-12T16:46:59.090 回答