我们正在使用SQL Server开发.NET Webforms应用程序。为了对项目进行版本化,我们使用Mercurial,Kiln和SourceTree。有几个分支,其中有两个分支,即 live 和 dev 。所有其他分支都是修补程序或功能分支。我们使用RoundHouse在实时数据库上部署时运行我们的脚本。
但是,我们开发人员使用该数据库的每日副本。每当发布部署时,特定文件夹的子文件夹中的数据库脚本将在实时数据库上执行,当且仅当它们尚未部署时。到现在为止还挺好。但是,每当我们开始新的一天时,每个人都必须执行他/她的未部署脚本。我想自动完成。为此,我打算编写一个小代码/ shell,它将按照创建顺序在特定文件夹和子文件夹中运行取消部署的脚本(文件的名称中有一个utc日期,但它们的创建日期为文件好)。然后,使用此功能将增强创建每日副本的事件。
问题是我不知道如何在所有分支中收集未部署的文件路径。如果这是不可能的,那么第二个最佳解决方案是仅运行那些未合并到实时分支的脚本。这是第二好的,因为这意味着政策变化以及需要注意的新事物。