我在visual studio 2013中从现有数据库创建了数据库项目。然后我在数据库项目中做了很多更改,比如修改存储过程,发布部署脚本,表结构等。现在数据库项目已准备好部署。但是我担心如果任何脚本失败那么我如何保持原始状态虽然它正确构建。
请建议如果任何查询失败,那么我想要ROLLBACK我在数据库项目中所做的所有更改。
答案 0 :(得分:3)
首先,您需要相信自己的工具,并相信它们会起作用或找到其他工具。
在构建信任时,我会在部署之前为部署前脚本添加创建备份,或者在部署之前运行备份,如果出现任何问题,您可以恢复并找出问题所在。
正如大卫所说的回滚,你会得到之前部署的dacpac并从生成一个新的部署脚本,但修复前进几乎总是正确的做法,而不是回滚到以前的版本。
编
答案 1 :(得分:2)
我前段时间使用过Db项目,据我所知,部署脚本包含在事务中。可以在不执行的情况下生成sql脚本。该设置在数据库项目设置中的某个位置。您可以查看该脚本内部并确保它会在出错时回滚。
进行备份仍然是推荐的做法,尤其是在部署到生产环境时。
答案 2 :(得分:2)
您是否检查过您对版本控制的更改?如果是这样,您需要做的就是恢复到上一个已知的良好版本。
或者......简单地弄清楚它为什么现在失败并找出根本原因?