将VS 2010 DB项目转换为SSDT(SQL Server数据工具)项目后 (以及与数据库和SSDT项目之间的一些比较)我收到了以下文件夹结构:
如果某些表和视图看起来在Project\Schema Objects\Schemas\dbo
下,而有些则在Project\dbo
下。
实际问题:
为什么有两个不同的文件夹?
(我怀疑导入与此有关。)
我可以将这些文件统一到一个文件夹下吗?如果有的话?
如果没有,我要向哪个文件夹添加新文件?
如果我在导入期间选择了创建备份,那么保存的备份信息在哪里? - 我希望能够将其删除。
编辑:
另一个不一致 - Project\dbo\Tables
下的文件包含键和约束,而Project\Schema Objects\Schemas\dbo\Tables
下的文件被拆分(表格分开,约束分开等等)
答案 0 :(得分:3)
当我从DB Pro 2005升级到DB Pro 2008时,我发生了同样的事情。我还没有转换为SSDT格式,但在之前的情况下,我只是将文件合并回旧文件夹。
但是,在某些情况下,如果项目很简单,或者数据库项目相对较新,我只会重新制作项目。 (如果我重新创建/重新导入,那么我将丢失源代码管理中文件的历史记录。)。
答案 1 :(得分:2)
似乎导入的文件(来自VS 2010 dbproj)位于Project\Schema Objects\Schemas\dbo\Tables
之下,而之后添加的所有内容都位于Project\dbo\Tables
下。
新定义不会拆分成不同的文件和文件夹(表,索引,键,...),这会使文件系统路径变得更深,并且更容易读取有关特定表的所有信息(特别是如果键/索引/删除约束,然后与表格文件的旧版本进行比较。
将表格移动到Project\dbo\Tables
并将卫星文件的内容移动到主文件中似乎有效(您必须在文件中的命令之间添加“GO”)。
另一种选择是从sqlproj创建数据库(通过比较数据库与项目),删除旧文件,然后通过比较项目与数据库以新格式重新创建它们。