14

我正在使用Visual Studio 2010 数据库版本并运行架构与 SQL 数据库实例进行比较,以同步数据库上尚未在我的项目 (dbproj) 中的新对象。我的解决方案包含许多项目,其中一些通过数据库引用相互引用。当我从我的架构中写入更新时,与我的目标项目进行比较时,对其他项目中对象的任何引用都会被添加为硬引用,并且不要使用在添加数据库引用时设置的 sqlcmd 变量。

这会导致我的解决方案出现警告和错误,直到我手动换出 sqlcmd 变量的硬引用。我发现我可以重新制作数据库引用,它可以选择通过项目获取所有硬引用,但这仍然很麻烦。有没有办法使用为我的项目定义的现有 sqlCmd 变量集,以便使用所使用的变量引用将更新后的变量写入我的项目?

4

2 回答 2

1

这只是一个想法,但我们从不直接更改数据库并使用我们的项目来构建数据库以生成部署脚本。通过使用该项目作为所有知识的主人,我们觉得这对我们来说非常有效。

我们进行分支以创建我们的开发、测试环境,然后在部署时合并项目。

至于引用,我们发现引用 dbmeta 文件而不是实际的数据库也很有用,因为它使所有项目更容易转移。

于 2010-09-07T11:49:49.720 回答
0

我的解决方案并不完全是您想要做的,但它可能会有所帮助.. 当我遇到类似问题时,我通常会为模式比较创建一个(临时)数据库并使用它而不是我的项目..

于 2010-08-01T13:21:31.543 回答