【发布时间】:2015-07-18 11:08:32
【问题描述】:
我有一个 web 应用程序,它使用基本的 ms-sql 数据库,只有表和约束没什么特别的。
每次我需要升级我的数据库架构时,我都会删除旧的架构,然后使用标准 DDL 脚本重新创建一个新的架构,其中包含许多创建表子句。
是否有任何模式可以让我编写我的 DDL 脚本,即使它在现有数据库上运行,它也会更新它而不会丢失所有存储的日期?
【问题讨论】:
-
为什么要删除现有的架构?即使在不同版本的 sql server 之间迁移时,大部分架构也不应该发生变化。
-
升级我的网络应用程序版本时需要它。我不是说我升级了sql server的版本。
-
升级网络应用程序包括对数据库表的结构进行更改..但我所拥有的只是一个带有一堆创建表语句的 DDL 脚本..这没有考虑到我正在升级的现有数据库。
-
这对我来说仍然没有多大意义。我可以理解更改和添加表、过程或视图,甚至删除其中的一些,但我真的不明白为什么需要删除整个架构。在我看来,这是一个糟糕的设计。
-
没错。因此,我正在寻找一种将我的 DDL 脚本编写为累积脚本的方法,该脚本将对应用程序的版本升级进行所有必需的更改..
标签: sql sql-server sql-server-2008-r2 database-migration ddl