5

我有一个相当大的数据库项目,其中包含九个数据库和一个具有相当大模式的数据库。

这个项目需要大量时间来构建,我正要拔掉头发。我们希望控制我们的数据库源代码,但很难让其他开发人员在签入之前使用该项目并构建数据库项目,因为构建需要很长时间。

这严重削弱了我们的工作,所以我正在寻找替代方案。也许可以用 Redgate 的 SQL 比较来做些什么?我认为这里唯一的缺点可能是它不验证语法?任何人的想法/建议将不胜感激。

4

2 回答 2

2

请考虑尝试使用 SQL 源代码控制,这是一款旨在与 SQL 比较一起作为数据库开发生命周期的一部分的产品。它目前处于 Beta 版中,但功能齐全,并且非常接近其完整版本。

http://www.red-gate.com/products/SQL_Source_Control/index.htm

我们很想知道与 Visual Studio 构建当前数据库项目所需的时间相比,它在提交时的表现如何。你真的需要在 VS 中如此频繁地构建项目以至于这是一个问题吗?您的架构有多大,平均构建多长时间?

于 2010-05-27T21:39:11.557 回答
0

保持 Dev/live db 同步:

可能有很多方法可以做到这一点,我相信其他用户会进一步扩展(包括软件解决方案)。

就我而言,我使用了两种方法:

(a) 运行脚本以获取数据库之间的差异(存储过程、表、字段等)

(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% 的时间日志都是我所需要的。

于 2010-05-27T14:44:13.143 回答