用于添加第三方数据库的 VSDBCMD 部署

发布于 2024-09-01 04:32:10 字数 572 浏览 2 评论 0原文

我们在属于 ERP 系统的 SQL Server 2005 数据库中有一些自定义对象(存储过程等)。自定义对象与 ERP 对象处于不同的架构中。我们对所有自定义应用程序数据库使用数据库版 .dbproj 项目和 vsdbcmd 部署,并希望以类似方式管理 ERP 数据库中的自定义对象。目前尚不清楚如何在没有以下任一情况下完成此操作:

  1. 将所有 ERP 对象(约 4000 个表)导入到 .dbproj 并手动使它们与 ERP 开发保持同步。我唯一一次尝试导入这些文件时,Visual Studio 失败了,所以我不知道它是否真的可以处理这种规模的项目。
  2. 以某种方式从 diff 过程中排除 ERP 模式(有两个),以确保它们不会被 vsdbcmd 删除。我还没有找到任何文件表明这是可能的。

我知道 IgnoreDefaultSchema 设置,但是有两个模式我需要忽略,并且我对“默认模式”方法感到不舒服 - 由不同用户进行部署可能会是灾难性的。

有没有人成功地使用 .dbproj & vsdbcmd 用于自定义添加第三方数据库?如果没有,您如何管理 SQL 源代码控制和 SQL 源代码控制?部署?

We have some custom objects (stored procedures etc) in an SQL Server 2005 database belonging to an ERP system. The custom objects are in different schemas to the ERP objects. We're using Database Edition .dbproj projects and vsdbcmd deployment for all our custom application databases and would like to similarly manage our custom objects in the ERP database. It's not clear how this can be done without either:

  1. Importing all ERP objects (~4000 tables) into the .dbproj and manually keeping them in sync with ERP development. Visual Studio fell over the only time I tried importing these, so I've no idea whether it can actually handle a project of this size.
  2. Somehow excluding the ERP schemas (there are two) from the diff process to ensure they don't get dropped by vsdbcmd. I haven't found any documentation which suggests this is possible.

I'm aware of the IgnoreDefaultSchema setting, but there are two schemas I need to ignore and I'm not comfortable with the 'default schema' approach - deployment by different users could be disasterous.

Has anyone managed to successfully use .dbproj & vsdbcmd for custom additions to a third party database? If not, how do you manage SQL source control & deployment?

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

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

发布评论

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

评论(1

北城孤痞 2024-09-08 04:32:10

这是我要尝试的:

  1. 创建一个部分项目,其中仅包含您所依赖的供应商对象(我怀疑这主要是表)。

  2. 创建一个项目来保存您的自定义对象并添加您的部分项目(使用部分项目将防止有人意外更改供应商对象之一)。然后添加您的自定义对象。

注意:确保您已将项目设置为不删除不在项目中的对象!

此链接也可能有帮助:

Here's what I would try:

  1. Create a partial project with only the vendor objects you are dependent on in it (I suspect this would be primarily tables).

  2. Create a project to hold your custom objects and add your partial project (using a partial project will prevent someone from accidentally changing one of the vendor objects). Then add your custom objects.

note: make sure you've set your project to not drop objects that aren't in the project!

This link may be helpful as well:
http://blogs.msdn.com/b/dukek/archive/2009/12/31/the-pros-and-cons-of-partial-projects-and-database-project-references.aspx

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