我有一个相当大的数据库项目,其中包含九个数据库和一个具有相当大模式的数据库。
这个项目需要花费大量时间来构建,我即将拔掉头发。我们希望保持我们的数据库源控制,但在签入之前很难让其他开发人员使用该项目并构建数据库项目,因为构建需要很长时间。
这严重削弱了我们的工作,所以我正在寻找替代方案。也许Redgate的SQL Compare可以做些什么?我想也许这里唯一的缺点是它不验证语法?任何人的想法/建议都会非常感激。
答案 0 :(得分:2)
请考虑尝试SQL Source Control,这是一种旨在与SQL Compare一起工作的产品,作为数据库开发生命周期的一部分。它目前处于测试阶段,但功能齐全,而且非常接近完整版本。
http://www.red-gate.com/products/SQL_Source_Control/index.htm
与Visual Studio构建当前数据库项目所花费的时间相比,我们有兴趣了解它在提交时的执行情况。你真的需要在VS中经常构建项目,这是一个问题吗?您的架构有多大,平均构建时间有多长?
答案 1 :(得分:0)
保持开发/实时数据库同步:
可能有很多方法可以做到这一点,我相信其他用户会进一步扩展(包括软件解决方案)。
在我的情况下,我使用双重方法:
(a)运行脚本以获得db(存储过程,表,字段等)之间的差异
(b)保持严格的数据库更改日志(不是数据更改)
在我的情况下,我随着时间的推移建立了一个半结构化的日志:
Client_Details [Alter][Table][New Field]
{
EnforcePasswordChange;
}
Users [Alter][Table][New Field]
{
PasswordLastUpdated;
}
P_User_GetUserPasswordEnforcement [New][Stored Procedure]
P_User_UpdateNewPassword [New][Stored Procedure]
P_User_GetCurrentPassword [New][Stored Procedure]
P_Doc_BulkDeArchive [New][Stored Procedure]
忽略标签,降价已经搞砸了。
但是你得到了一般的要点。
我发现99%的时间都是我需要的日志。