如何将RoundhousE与由于git行结束规范化而更改的一次性脚本对齐?

如何将RoundhousE与由于git行结束规范化而更改的一次性脚本对齐?,git,roundhouse,Git,Roundhouse,我正在使用RoundhousE来管理数据库迁移,而且,由于旧版git配置不正确,脚本已提交到git,但行尾不一致。我想标准化这些行尾,当然,在这样做时RoundhousE会检测到这些文件的散列更改 从一个圆屋的角度来看,我认为这是正确的行为,但我不确定补救的最佳途径。我们已经在生产数据库了 我有点不知所措,目前为止没有做太多的研究,很高兴在评论中与有经验的人讨论 选项1 首先提交更新脚本,将[RoundhousE].[ScriptsRun]哈希表引导到已更改的新一次性脚本的正确哈希。然后提交一

我正在使用RoundhousE来管理数据库迁移,而且,由于旧版git配置不正确,脚本已提交到git,但行尾不一致。我想标准化这些行尾,当然,在这样做时RoundhousE会检测到这些文件的散列更改

从一个圆屋的角度来看,我认为这是正确的行为,但我不确定补救的最佳途径。我们已经在生产数据库了

我有点不知所措,目前为止没有做太多的研究,很高兴在评论中与有经验的人讨论


选项1


首先提交更新脚本,将[RoundhousE].[ScriptsRun]哈希表引导到已更改的新一次性脚本的正确哈希。然后提交一次性脚本。我真的不喜欢这种方法,它感觉又脏又黑。

有两个命令行选项可能会有所帮助:
warnononenetimescriptchanges
基线
结合使用

-w、 --warnononetimescriptchanges | WARNONONONETIMESCRiptChanges-指示RH执行以前针对数据库运行的已更改一次性脚本(Up文件夹中的DDL/DML),而不是失败。对于每次重新运行的脚本,都会记录一条警告。默认为false

此选项将执行迁移,这可能不是您想要的。这就是为什么您还应该指定--baseline

--基线|基线-这指示RH为其记录表创建插入,但不实际对数据库运行任何操作。如果已经有通过其他方式运行的脚本(在启动新脚本之前),请使用此选项

我还没有尝试过,但是这两个开关一起应该可以记录新的脚本哈希值,而不会实际执行任何操作。

您想使用--warnandIgnoreoneTimeScriptChanges吗

WARNANDIGNOREONETIMESCRIPTCHENGS-指示RH忽略并更新先前针对数据库运行的已更改一次性脚本(Up文件夹中的DDL/DML)的哈希,而不是失败。对于每个重新运行的一次性脚本,都会记录一条警告。默认为false

第一次运行将生成以下输出:

21-Apr-2020 22:23:52    2019-12-17_1100_SomeScript.sql is a one time script that has changed since it was run. build    
21-Apr-2020 22:23:43    BASELINING: Recording 2019-12-17_1100_SomeScript.sql on 10.0.0.14,1433 - DATABASENAME.
后续运行将显示“跳过”