2012-10-12 115 views
0

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

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

回答

3

Redgate使用SQL Server扩展属性来确定数据库所在的SVN版本,如以及在哪里可以找到它需要运行来更新数据库的脚本。真正愚蠢的是,这些扩展属性是CASE SENSITIVE。所以在我的dev DB的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无法立即解决我的问题,但经过大量的试验和错误,我能够找到它自己的。希望这会为很多人节省很多时间!

干杯。

+1

是的,回想起来这不是一个明智的决定。我们将改变提取迁移脚本时使用的算法,以便它们不再要求源和目标中的存储库保持一致,这将改进不同分支机构之间的部署。 –

+0

David,非常感谢您的回复。总的来说,我喜欢你的产品,我期待看到它继续改善。 干杯! – jhilden