我使用基于实体框架代码的迁移。我的工作流程的简化版本是......
针对本地数据库,对模型进行更改,在本地测试向上和向下迁移,将代码提交到repo。我的构建服务器然后从repo,构建,测试和部署等拉出来,我自动运行针对高质量数据库的任何新迁移。这很好用,但是我想让我的构建服务器测试我的向下迁移。
我想实现一些可能在部署新二进制文件并运行向上迁移后运行我的集成测试以确保它们通过,然后运行向下迁移并部署我最后已知的良好二进制文件并再次运行我的集成测试。
如果该部署通过,那么我知道我的向下迁移工作,也许更重要的是我可以创建一个单击脚本来将我的应用程序降级到以前的版本。从理论上讲,我可以将部署一直退回到第一次部署。
那么有谁知道我如何指示我的二进制文件为部署时运行的任何向上迁移运行down()迁移?