我正在寻找一些从源代码控制自动化部署存储过程/视图/函数/表更改的“最佳实践”。我使用的是StarTeam & ANT,所以标签已经处理好了;我正在寻找的是你们中的一些人是如何从源代码自动化这些对象的拉取的--不一定是StarTeam。
我想以一个脚本结束,然后可以执行、签入和标记。
我并不是要求任何人写这个--只是一些在过去已经(或没有)奏效的想法或方法。
我正在试着清理一个烂摊子,并想确保我尽可能地接近“正确”。
我们将表/视图/函数等存储在StarTeam中的单个文件中,我们的数据库是SQL2K5。
发布于 2008-09-09 19:23:19
我们使用来自redgate (http://www.red-gate.com/)的SQL Compare。
我们有一个生产数据库,一个开发数据库,每个开发人员都有自己的数据库。
开发数据库与开发人员在签入其更改时对其数据库所做的更改同步。
开发人员还签入同步脚本和由SQL Compare生成的比较报告。
在部署应用程序时,我们只需使用SQL Compare将开发数据库与生产数据库同步。
这对我们来说是可行的,因为我们的应用程序仅供内部使用。如果这不是您的场景,那么我会考虑SQL Packager (也来自redgate)。
发布于 2008-09-09 19:08:57
我更喜欢将视图、过程和触发器(可以随意重新创建的对象)与表分开。对于视图、过程和触发器,只需编写一个作业,将它们签出并重新创建最新的。
对于表,我更喜欢数据库版本表,其中只有一行。使用该表确定尚未应用的新更新。然后应用每个更新,并更新版本号。如果更新失败,您只需检查该更新,且可以重新运行,以确保先前的更新不会再次发生。
https://stackoverflow.com/questions/52626
复制相似问题