我的公司使用Visual Studio数据库项目来部署对数据库的更新.据我所知,它提供了比较项目架构和目标数据库的状态,并生成代码以将后者的架构更新为前者的功能.它还提供了一个预部署脚本和一个部署后脚本,但仅此而已.
缺少的是版本控制和/或排序的任何概念.例如,如果我想将一个不可为空的FK列添加到表中,我需要分两步完成 - 首先,将其添加为具有部署后脚本的可空列,以更新行以获得有意义的值第二,使列不可为空.这些必须按顺序发生.
据我所知,无法通过部署Visual Studio数据库项目来确保部署前和部署后脚本的顺序排序.我在这儿吗?这有两个含义:首先,一旦创建了表,你就无法真正地将一个不可为空的FK列添加到表中;其次,你的部署前和部署后的脚本将继续增长和增长并包含多年前就是因为它们都是在每次部署数据库时都运行的.
有没有办法使用Visual Studio数据库项目进行版本更新,如果没有,是否有允许这种版本控制的项目类型?
database sql-server visual-studio-2012 sql-server-data-tools