257 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			257 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
IF  EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Assignments_Projects]') AND parent_object_id = OBJECT_ID(N'[dbo].[Assignments]'))
 | 
						|
 | 
						|
ALTER TABLE [dbo].[Assignments] DROP CONSTRAINT [FK_Assignments_Projects]
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
IF  EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Assignments_Resources]') AND parent_object_id = OBJECT_ID(N'[dbo].[Assignments]'))
 | 
						|
 | 
						|
ALTER TABLE [dbo].[Assignments] DROP CONSTRAINT [FK_Assignments_Resources]
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
IF  EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Assignments_Roles]') AND parent_object_id = OBJECT_ID(N'[dbo].[Assignments]'))
 | 
						|
 | 
						|
ALTER TABLE [dbo].[Assignments] DROP CONSTRAINT [FK_Assignments_Roles]
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
/****** Object:  Table [dbo].[Assignments]    Script Date: 12/06/2005 11:11:16 ******/
 | 
						|
 | 
						|
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Assignments]') AND type in (N'U'))
 | 
						|
 | 
						|
DROP TABLE [dbo].[Assignments]
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
/****** Object:  Table [dbo].[Roles]    Script Date: 12/06/2005 11:11:16 ******/
 | 
						|
 | 
						|
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Roles]') AND type in (N'U'))
 | 
						|
 | 
						|
DROP TABLE [dbo].[Roles]
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
/****** Object:  Table [dbo].[Projects]    Script Date: 12/06/2005 11:11:16 ******/
 | 
						|
 | 
						|
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Projects]') AND type in (N'U'))
 | 
						|
 | 
						|
DROP TABLE [dbo].[Projects]
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
/****** Object:  Table [dbo].[Resources]    Script Date: 12/06/2005 11:11:16 ******/
 | 
						|
 | 
						|
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Resources]') AND type in (N'U'))
 | 
						|
 | 
						|
DROP TABLE [dbo].[Resources]
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
/****** Object:  Table [dbo].[Assignments]    Script Date: 12/06/2005 11:11:16 ******/
 | 
						|
 | 
						|
SET ANSI_NULLS ON
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Assignments]') AND type in (N'U'))
 | 
						|
 | 
						|
BEGIN
 | 
						|
 | 
						|
CREATE TABLE [dbo].[Assignments](
 | 
						|
 | 
						|
	[ProjectId] [uniqueidentifier] NOT NULL,
 | 
						|
 | 
						|
	[ResourceId] [int] NOT NULL,
 | 
						|
 | 
						|
	[Assigned] [datetime] NOT NULL,
 | 
						|
 | 
						|
	[Role] [int] NOT NULL,
 | 
						|
 | 
						|
	[LastChanged] [timestamp] NOT NULL,
 | 
						|
 | 
						|
 CONSTRAINT [PK_Assignments] PRIMARY KEY CLUSTERED 
 | 
						|
 | 
						|
(
 | 
						|
 | 
						|
	[ProjectId] ASC,
 | 
						|
 | 
						|
	[ResourceId] ASC
 | 
						|
 | 
						|
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
 | 
						|
 | 
						|
) ON [PRIMARY]
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
/****** Object:  Table [dbo].[Roles]    Script Date: 12/06/2005 11:11:16 ******/
 | 
						|
 | 
						|
SET ANSI_NULLS ON
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
SET ANSI_PADDING ON
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Roles]') AND type in (N'U'))
 | 
						|
 | 
						|
BEGIN
 | 
						|
 | 
						|
CREATE TABLE [dbo].[Roles](
 | 
						|
 | 
						|
	[Id] [int] NOT NULL,
 | 
						|
 | 
						|
	[Name] [varchar](50) NOT NULL,
 | 
						|
 | 
						|
	[LastChanged] [timestamp] NOT NULL,
 | 
						|
 | 
						|
 CONSTRAINT [PK_Roles] PRIMARY KEY CLUSTERED 
 | 
						|
 | 
						|
(
 | 
						|
 | 
						|
	[Id] ASC
 | 
						|
 | 
						|
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
 | 
						|
 | 
						|
) ON [PRIMARY]
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
SET ANSI_PADDING OFF
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
/****** Object:  Table [dbo].[Projects]    Script Date: 12/06/2005 11:11:16 ******/
 | 
						|
 | 
						|
SET ANSI_NULLS ON
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
SET ANSI_PADDING ON
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Projects]') AND type in (N'U'))
 | 
						|
 | 
						|
BEGIN
 | 
						|
 | 
						|
CREATE TABLE [dbo].[Projects](
 | 
						|
 | 
						|
	[Id] [uniqueidentifier] NOT NULL,
 | 
						|
 | 
						|
	[Name] [varchar](50) NOT NULL,
 | 
						|
 | 
						|
	[Started] [datetime] NULL,
 | 
						|
 | 
						|
	[Ended] [datetime] NULL,
 | 
						|
 | 
						|
	[Description] [varchar](max) NULL,
 | 
						|
 | 
						|
	[LastChanged] [timestamp] NOT NULL,
 | 
						|
 | 
						|
 CONSTRAINT [PK_Projects] PRIMARY KEY CLUSTERED 
 | 
						|
 | 
						|
(
 | 
						|
 | 
						|
	[Id] ASC
 | 
						|
 | 
						|
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
 | 
						|
 | 
						|
) ON [PRIMARY]
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
SET ANSI_PADDING OFF
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
/****** Object:  Table [dbo].[Resources]    Script Date: 12/06/2005 11:11:16 ******/
 | 
						|
 | 
						|
SET ANSI_NULLS ON
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
SET ANSI_PADDING ON
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Resources]') AND type in (N'U'))
 | 
						|
 | 
						|
BEGIN
 | 
						|
 | 
						|
CREATE TABLE [dbo].[Resources](
 | 
						|
 | 
						|
	[Id] [int] IDENTITY(1,1) NOT NULL,
 | 
						|
 | 
						|
	[LastName] [varchar](50) NULL,
 | 
						|
 | 
						|
	[FirstName] [varchar](50) NULL,
 | 
						|
 | 
						|
	[LastChanged] [timestamp] NOT NULL,
 | 
						|
 | 
						|
 CONSTRAINT [PK_Resources] PRIMARY KEY CLUSTERED 
 | 
						|
 | 
						|
(
 | 
						|
 | 
						|
	[Id] ASC
 | 
						|
 | 
						|
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
 | 
						|
 | 
						|
) ON [PRIMARY]
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
SET ANSI_PADDING OFF
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Assignments_Projects]') AND parent_object_id = OBJECT_ID(N'[dbo].[Assignments]'))
 | 
						|
 | 
						|
ALTER TABLE [dbo].[Assignments]  WITH CHECK ADD  CONSTRAINT [FK_Assignments_Projects] FOREIGN KEY([ProjectId])
 | 
						|
 | 
						|
REFERENCES [dbo].[Projects] ([Id])
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Assignments_Resources]') AND parent_object_id = OBJECT_ID(N'[dbo].[Assignments]'))
 | 
						|
 | 
						|
ALTER TABLE [dbo].[Assignments]  WITH CHECK ADD  CONSTRAINT [FK_Assignments_Resources] FOREIGN KEY([ResourceId])
 | 
						|
 | 
						|
REFERENCES [dbo].[Resources] ([Id])
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Assignments_Roles]') AND parent_object_id = OBJECT_ID(N'[dbo].[Assignments]'))
 | 
						|
 | 
						|
ALTER TABLE [dbo].[Assignments]  WITH CHECK ADD  CONSTRAINT [FK_Assignments_Roles] FOREIGN KEY([Role])
 | 
						|
 | 
						|
REFERENCES [dbo].[Roles] ([Id])
 | 
						|
 | 
						|
GO
 | 
						|
 |