寻找数据库项目的替代方案

发布于 2024-09-03 08:23:12 字数 234 浏览 6 评论 0原文

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

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

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

I've a fairly large database project which contains nine databases and one database with a fairly large schema.

This project takes a large amount of time to build and I'm about to pull my hair out. We'd like to keep our database source controlled, but having a hard getting the other devs to use the project and build the database project before checking in just because it takes so long to build.

It is seriously crippling our work so I'm look for alternatives. Maybe something can be done with Redgate's SQL Compare? I think maybe the only drawback here is that it doesn't validate syntax? Anyone's thoughts/suggestions would be most appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一杆小烟枪 2024-09-10 08:23:12

请考虑尝试 SQL Source Control,该产品旨在与 SQL Compare 一起工作,作为数据库开发生命周期的一部分。目前它处于 Beta 阶段,但它的功能很完整,并且非常接近完整版本。

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

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

Please consider trying SQL Source Control, which is a product designed to work alongside SQL Compare as part of a database development lifecycle. It's in Beta at the moment, but it's feature complete and it's very close to its full release.

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

We'd be interested to know how this performs on a commit in comparison to the time it takes for Visual Studio to build your current Database Project. Do you actually need to build the project so often in VS that it's a problem? How large is your schema and how long is an average build?

心如荒岛 2024-09-10 08:23:12

保持开发/实时数据库同步:

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

在我的例子中,我使用两种方法:

(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% 的情况下,日志就是我所需要的。

Keeping Dev/live db in sync:

There are probably a whole host of ways of doing this, I'm sure other users will expand further (including software solutions).

In my case I use a two fold approach:

(a) run scripts to get differences between db (stored procs, tables, fields, etc)

(b) Keep a strict log of db changes (NOT data changes)

In my case I've over time built up a semi structured log thus:

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]

ignore the tabing, the markdown has messed it up.

But you get the general gist.

I find that 99% of the time the log is all I need.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文