删除并重新创建所有数据库视图

时间:2018-05-22 18:05:06

标签: sql-server version-control sql-server-2008-r2 ssms database-schema

问题

从SSMS,我可以为视图,过程和函数使用“生成脚本”,然后将每个保存为“每个对象的单个文件”。

如果他们依赖于其他视图,我怎样才能生成正确的命令来执行这些文件?

背景故事

我正在尝试将我的数据库架构置于版本控制之下。

对于视图(以及过程和函数),下面的页面建议为每个文件保存一个。在更新时,将删除所有内容,然后重新创建所有内容。

不幸的是,该页面从未提及它如何处理视图之间的依赖关系的细节。

  

Versioning Databases – Views, Stored Procedures, and the Like

     

每个对象一个文件

     

我的策略是编写每个视图,存储过程和函数的脚本   到一个单独的文件,然后将文件提交到源代码控制。如果   有人需要添加新视图,他们将视图编写到文件中   将文件提交给源代码控制。如果有人需要修改视图,   他们修改视图的脚本文件并再次提交。如果你需要   从数据库中删除视图,从源代码管理中删除该文件。   这是一个相对简单的工作流程。

     

当开发人员,测试人员或安装程序更新时,会发生魔力   源代码控制并运行一个更新其本地数据库的工具。该   工具使用三个步骤:

     
      
  1. 该工具通过将可用的架构更改文件与数据库中的SchemaChangeLog记录进行比较来应用新的架构更改。
  2.   
  3. 该工具将 DROP 数据库中的所有存储过程,视图和函数。
  4.   
  5. 该工具将运行将视图,存储过程和函数添加回数据库所需的所有脚本。
  6.   

0 个答案:

没有答案