Can I use partial Database Projects in the following scenario?
I have numerous databases which are all inter-dependent on each other. Database2 executes SPs on Database1 and Database3 and Database3 executes SPs on Database2. For example:
Database 1 could be defined as:
CREATE TABLE [dbo].[X]
(
Id int NOT NULL,
X int NULL
)
CREATE PROCEDURE [dbo].[GetX]
AS
BEGIN
SELECT * FROM [dbo].[X]
END
Database 2 could be defined as:
CREATE PROCEDURE [dbo].[GetX]
AS
BEGIN
EXEC [Database1].[dbo].[GetX]
END
CREATE PROCEDURE [dbo].[GetXY]
AS
BEGIN
EXEC [dbo].[GetX]
EXEC [Database3].[dbo].[GetY]
END
Database 3 could be defined as:
CREATE TABLE [dbo].[Y]
(
Id int NOT NULL,
Y int NULL
)
CREATE PROCEDURE [dbo].[GetX]
AS
BEGIN
EXEC [Database2].[dbo].[GetX]
END
CREATE PROCEDURE [dbo].[GetY]
AS
BEGIN
SELECT * FROM [dbo].[Y]
END
Because Database2 is dependent on Database3 and Database3 on Database2 there is a circular reference. I'm not sure how partial projects would help me here because if I separated Database2 between base and external objects, I would still have a circular reference on the external project. So as I understand it, this is not allowed.
Apologies for the explanation, the databases are hurting my head too. I will try to be more verbose if required.