chatbot/Chatbot.Api.Domain.Data/Scripts/01.Chatbot tables.sql

70 lines
2.3 KiB
Transact-SQL

if not exists (select top 1 1 from sys.objects where name = 'Bot' and type = 'U')
begin
create table Bot
(
BotId uniqueidentifier constraint DF_Bot_BotId default newid() not null,
BotCode varchar(100) not null,
BotName varchar(255) not null,
CreationDate datetime constraint DF_Bot_CreationDate default getdate(),
constraint PK_Bot primary key (BotId)
)
end
go
if not exists (select top 1 1 from sys.objects where name = 'BotSession' and type = 'U')
begin
create table BotSession
(
SessionId uniqueidentifier constraint DF_BotSession_SessionId default newid() not null,
StartDate datetime constraint DF_BotSession_StartDate default getdate(),
BotId uniqueidentifier not null,
ExternalId uniqueidentifier not null,
ClientApplication varchar(100) not null,
UserKey varchar(100) not null,
constraint PK_BotSession primary key (SessionId),
constraint FK_BotSession_Bot foreign key (BotId) references Bot(BotId)
)
end
go
if not exists (select top 1 1 from sys.objects where name = 'Chat' and type = 'U')
begin
create table Chat
(
ChatId uniqueidentifier constraint DF_Chat_ChatId default newid() not null,
SessionId uniqueidentifier not null,
StartDate datetime constraint DF_Chat_StartDate default getdate(),
StopDate datetime,
constraint PK_Chat primary key (ChatId),
constraint FK_Chat_BotSession foreign key (SessionId) references BotSession(SessionId)
)
end
go
if not exists (select top 1 1 from sys.objects where name = 'MessageSource' and type = 'U')
begin
create table MessageSource
(
MessageSourceId int not null,
MessageSourceCode varchar(20) not null,
MessageSourceName varchar(100) not null,
constraint PK_MessageSource primary key (MessageSourceId)
)
end
go
if not exists (select top 1 1 from sys.objects where name = 'ChatMessage' and type = 'U')
begin
create table ChatMessage
(
MessageId int identity(0, 1),
ChatId uniqueidentifier not null,
MessageSourceId int not null,
MessageDate datetime constraint DF_ChatMessage_MessageDate default getdate(),
MessageContent varchar(max)
constraint PK_ChatMessage primary key (MessageId),
constraint FK_ChatMessage_Chat foreign key (ChatId) references Chat(ChatId),
constraint FK_ChatMessage_MessageSource foreign key (MessageSourceId) references MessageSource(MessageSourceId)
)
end
go