47 lines
3.2 KiB
Transact-SQL
47 lines
3.2 KiB
Transact-SQL
USE [EnVisage]
|
||
GO
|
||
|
||
IF (NOT EXISTS (SELECT * FROM sys.tables where name='WorkWeek'))
|
||
BEGIN
|
||
CREATE TABLE WorkWeek(
|
||
[Id] uniqueidentifier NOT NULL,
|
||
[Name] nvarchar(200) NOT NULL,
|
||
[Monday] bit NOT NULL,
|
||
[Tuesday] bit NOT NULL,
|
||
[Wednesday] bit NOT NULL,
|
||
[Thursday] bit NOT NULL,
|
||
[Friday] bit NOT NULL,
|
||
[Saturday] bit NOT NULL,
|
||
[Sunday] bit NOT NULL,
|
||
[IsDefault] bit NOT NULL,
|
||
CONSTRAINT [PK_WorkWeek] PRIMARY KEY CLUSTERED
|
||
(
|
||
[Id] ASC
|
||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
|
||
) ON [PRIMARY];
|
||
END
|
||
GO
|
||
|
||
if not exists (select * from sys.columns where name='WorkWeekId' and [object_id] = object_id('PeopleResource'))
|
||
BEGIN
|
||
ALTER TABLE dbo.PeopleResource
|
||
ADD
|
||
[WorkWeekId] uniqueidentifier NULL
|
||
|
||
ALTER TABLE PeopleResource WITH
|
||
CHECK ADD CONSTRAINT [FK_PeopleResource_WorkWeekId] FOREIGN KEY([WorkWeekId])
|
||
REFERENCES WorkWeek ([Id])
|
||
ALTER TABLE PeopleResource CHECK CONSTRAINT [FK_PeopleResource_WorkWeekId]
|
||
END
|
||
GO
|
||
|
||
declare @Id uniqueidentifier = null;
|
||
set @Id = newid();
|
||
insert into WorkWeek([Id] ,[Name],[Monday],[Tuesday],[Wednesday],[Thursday] ,[Friday] ,[Saturday] ,[Sunday] ,[IsDefault])
|
||
(select @Id, 'Standard Week', 1,1,1,1,1,1,1,1 where not exists (select 1 from WorkWeek where Name = 'Standard Week'));
|
||
|
||
select @Id=Id from WorkWeek where Name = 'Standard Week';
|
||
update PeopleResource set WorkWeekId = @Id where WorkWeekId is null;
|
||
|
||
ALTER TABLE dbo.PeopleResource ALTER COLUMN [WorkWeekId] uniqueidentifier NOT NULL
|
||
GO |