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