我正在尝试使用SQL Server数据库项目来保留我们所有的表,存储过程,视图等脚本.我现在想要能够保留所有参考(或静态)数据.当工具或项目运行时,它将安装所有数据库对象并插入所有参考数据.
我在vs 2010中找到了类似的文章,但他们使用的是Team Edition for Database专业人员.
我正在使用SQL-Server 2008和Visual Studio Database Edition.
使用此设置,保持模式同步非常简单.基本上,有一个"比较模式"工具,允许我将两个数据库和/或数据库模式的模式与源控制的创建脚本文件夹同步.
但是,就数据而言,情况不太清楚,数据可能有三种不同:
代码中引用的静态数据.典型示例:我的用户可以更改其设置,并将其配置存储在服务器上.但是,如果用户没有覆盖它,则每个设置都有一个系统范围的默认值.包含这些默认设置的表随着向程序添加更多选项而增长.这意味着在签入新功能/选项时,通常也会在数据库中创建系统范围的默认设置.
静态数据.例如.填充下拉列表的产品列表.该程序不依赖列表中特定产品的存在来工作.例如,这可以是在部署程序的新"unicode版本"时应该在生产中部署的unicode编码产品的列表.
其他数据,即其他所有数据(日志,用户帐户,用户数据等)
我觉得我的第三个项目不应该是源代码控制的(当然,它应该定期备份)
但关于静态数据,我想知道该怎么做.
我应该将插入脚本附加到创建脚本吗?或者可以使用单独的脚本?
我(作为开发人员)如何警告执行部署的人员应该执行insert语句?
我应该区分我的两种数据吗?(第一个通常由开发人员创建,而第二个通常由非开发人员创建)
您如何管理数据库静态数据?
有没有办法在VS 2010的数据库项目中使用数据生成计划来创建一组默认数据?或者我咆哮错误的树,即最适合创建虚拟示例数据的数据生成计划?
我们有一堆数据(默认设置,默认用户等)需要为每个数据库部署创建.有工具来帮助我们这样做会很好,所以它可以是源代码控制和更好的管理.
我猜测可能有第三方替代方案,但我希望有一个内置的Visual-Studio-Way方式,所以它可以很好地与TFS等集成.