【问题标题】:RedGate SQL Source Control not picking up migration scriptsRedGate SQL 源代码控制没有选择迁移脚本
【发布时间】:2012-10-03 12:55:16
【问题描述】:

我有 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

【问题讨论】:

    标签: redgate


    【解决方案1】:

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

    干杯。

    【讨论】:

    • 是的,回想起来这不是一个明智的决定。我们将更改获取迁移脚本时使用的算法,这样它们就不再需要源和目标中的存储库相同,这应该会改善不同分支之间的部署。
    • 大卫,非常感谢您的回复。总的来说,我喜欢你的产品,我期待看到它继续改进。干杯!
    猜你喜欢
    • 2017-06-02
    • 2017-07-12
    • 2015-10-22
    • 1970-01-01
    • 2016-12-26
    • 2013-05-02
    • 2023-03-25
    • 2018-07-25
    • 2021-11-19
    相关资源
    最近更新 更多