在visualstudio2008数据库版本中,可以使用“部分项目”将数据库分离为多个项目,以便进行部署和维护。我一直在考虑在我们的项目中这样做,但遇到了以下障碍:
“约束对表foo有未解析的引用”(其中foo在原始DB中)。
-
创建一个名为BaseDB的项目。
-
在BaseDB中定义一个名为Users的表,其DDL如下:
CREATE TABLE [dbo].[Users] (
UserID INT IDENTITY(1,1) PRIMARY KEY,
UserName NVARCHAR(20) NOT NULL
)
-
将BaseDB导出为部分项目,将\u BaseDB.files文件添加到项目中。
-
在同一个名为DerivedDB的解决方案中创建一个项目
-
使用Import Partial项目指向BaseDB,确认导入文件中是否有指向BaseDB中Users表的存根引用。
-
CREATE TABLE [dbo].[PowerUsers] (
PowerUserID INT IDENTITY(1,1) PRIMARY KEY,
UserID INT NOT NULL
)
-
-
将DerivedDB项目中的外键约束从PowerUsers添加到具有以下DDL的用户:
ALTER TABLE [dbo].[PowerUsers]
ADD CONSTRAINT [PowerUsers_Users_FK]
FOREIGN KEY (UserID)
REFERENCES [dbo].[Users] (UserID)
执行上述步骤应该可以让您看到我所说的错误。
问题:
-
有没有一种方法可以跨数据库项目修复约束引用?
-
如果不是,那么是否应该将部分项目保留给一系列存储过程,将基项目保留给
全部的
基表和约束的DDL?