You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何跳过RoundHouse.ScriptsRun表中已存在记录的一次性脚本?

解决RoundHouse一次性脚本执行报错的方案

针对你遇到的one time script has changed since last run错误,结合你的场景(数据库已同步最新结构,需跳过ScriptsRun表中已记录的一次性脚本),可以用以下几种方法解决:

方法1:使用RoundHouse内置参数跳过变更检查

执行升级脚本时添加--ignoreOneTimeScriptChanges=true参数,这个参数会让RoundHouse忽略一次性脚本的变更差异,既不会抛出错误,也不会重新执行已在ScriptsRun表中有记录的脚本。

注意:不要使用--warnOnOneTimeScriptChanges=true,这个参数仅会发出警告,但仍会重新执行脚本,这就是你之前出现数据库结构不一致的原因。

方法2:同步脚本哈希值到ScriptsRun表

如果需要保持ScriptsRun表的哈希一致性,避免后续部署再触发错误,可以:

  • 用RoundHouse的哈希生成命令计算当前代码库中一次性脚本的哈希值:
    rh hash --scriptPath="你的一次性脚本目录路径"
    
  • 更新数据库中RoundHouse.ScriptsRun表对应脚本的Hash字段,使其与生成的哈希值一致。这样RoundHouse会判定脚本未发生变更,直接跳过执行。

方法3:修改ScriptsRun表的脚本状态

针对个别需要跳过的脚本,可以手动更新RoundHouse.ScriptsRun表:

  • 将目标脚本的Status字段设置为Success
  • 确保RunDate和Hash字段值准确匹配脚本执行的历史记录
    这样RoundHouse会认为该脚本已成功执行,不会再进行检查或执行。

内容的提问来源于stack exchange,提问作者Chinmay Karanjkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 09:54:55