From 3e32a55640668eab028b6f1c384f581949d19afe Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Sat, 18 Jun 2016 13:22:29 -0400 Subject: [PATCH] Added schema for device table --- src/Sql/Sql.sqlproj | 7 ++++ .../dbo/Stored Procedures/Device_Create.sql | 33 +++++++++++++++++++ .../Stored Procedures/Device_DeleteById.sql | 12 +++++++ .../dbo/Stored Procedures/Device_ReadById.sql | 13 ++++++++ .../Stored Procedures/Device_ReadByUserId.sql | 13 ++++++++ .../dbo/Stored Procedures/Device_Update.sql | 24 ++++++++++++++ src/Sql/dbo/Tables/Device.sql | 17 ++++++++++ src/Sql/dbo/Views/DeviceView.sql | 6 ++++ 8 files changed, 125 insertions(+) create mode 100644 src/Sql/dbo/Stored Procedures/Device_Create.sql create mode 100644 src/Sql/dbo/Stored Procedures/Device_DeleteById.sql create mode 100644 src/Sql/dbo/Stored Procedures/Device_ReadById.sql create mode 100644 src/Sql/dbo/Stored Procedures/Device_ReadByUserId.sql create mode 100644 src/Sql/dbo/Stored Procedures/Device_Update.sql create mode 100644 src/Sql/dbo/Tables/Device.sql create mode 100644 src/Sql/dbo/Views/DeviceView.sql diff --git a/src/Sql/Sql.sqlproj b/src/Sql/Sql.sqlproj index e724e7bcd1..d8e7ea9b58 100644 --- a/src/Sql/Sql.sqlproj +++ b/src/Sql/Sql.sqlproj @@ -67,9 +67,11 @@ + + @@ -83,6 +85,11 @@ + + + + + diff --git a/src/Sql/dbo/Stored Procedures/Device_Create.sql b/src/Sql/dbo/Stored Procedures/Device_Create.sql new file mode 100644 index 0000000000..9424ed30a8 --- /dev/null +++ b/src/Sql/dbo/Stored Procedures/Device_Create.sql @@ -0,0 +1,33 @@ +CREATE PROCEDURE [dbo].[Device_Create] + @Id UNIQUEIDENTIFIER, + @UserId UNIQUEIDENTIFIER, + @Name NVARCHAR(50), + @Type TINYINT, + @PushToken NVARCHAR(255), + @CreationDate DATETIME2(7), + @RevisionDate DATETIME2(7) +AS +BEGIN + SET NOCOUNT ON + + INSERT INTO [dbo].[Device] + ( + [Id], + [UserId], + [Name], + [Type], + [PushToken], + [CreationDate], + [RevisionDate] + ) + VALUES + ( + @Id, + @UserId, + @Name, + @Type, + @PushToken, + @CreationDate, + @RevisionDate + ) +END diff --git a/src/Sql/dbo/Stored Procedures/Device_DeleteById.sql b/src/Sql/dbo/Stored Procedures/Device_DeleteById.sql new file mode 100644 index 0000000000..83b9cee439 --- /dev/null +++ b/src/Sql/dbo/Stored Procedures/Device_DeleteById.sql @@ -0,0 +1,12 @@ +CREATE PROCEDURE [dbo].[Device_DeleteById] + @Id UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + DELETE + FROM + [dbo].[Device] + WHERE + [Id] = @Id +END diff --git a/src/Sql/dbo/Stored Procedures/Device_ReadById.sql b/src/Sql/dbo/Stored Procedures/Device_ReadById.sql new file mode 100644 index 0000000000..9910ee42f0 --- /dev/null +++ b/src/Sql/dbo/Stored Procedures/Device_ReadById.sql @@ -0,0 +1,13 @@ +CREATE PROCEDURE [dbo].[Device_ReadById] + @Id UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + SELECT + * + FROM + [dbo].[DeviceView] + WHERE + [Id] = @Id +END diff --git a/src/Sql/dbo/Stored Procedures/Device_ReadByUserId.sql b/src/Sql/dbo/Stored Procedures/Device_ReadByUserId.sql new file mode 100644 index 0000000000..670969cd0b --- /dev/null +++ b/src/Sql/dbo/Stored Procedures/Device_ReadByUserId.sql @@ -0,0 +1,13 @@ +CREATE PROCEDURE [dbo].[Device_ReadByUserId] + @UserId UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + SELECT + * + FROM + [dbo].[DeviceView] + WHERE + [UserId] = @UserId +END diff --git a/src/Sql/dbo/Stored Procedures/Device_Update.sql b/src/Sql/dbo/Stored Procedures/Device_Update.sql new file mode 100644 index 0000000000..f1f4682f1c --- /dev/null +++ b/src/Sql/dbo/Stored Procedures/Device_Update.sql @@ -0,0 +1,24 @@ +CREATE PROCEDURE [dbo].[Device_Update] + @Id UNIQUEIDENTIFIER, + @UserId UNIQUEIDENTIFIER, + @Name NVARCHAR(50), + @Type TINYINT, + @PushToken NVARCHAR(255), + @CreationDate DATETIME2(7), + @RevisionDate DATETIME2(7) +AS +BEGIN + SET NOCOUNT ON + + UPDATE + [dbo].[Device] + SET + [UserId] = @UserId, + [Name] = @Name, + [Type] = @Type, + [PushToken] = @PushToken, + [CreationDate] = @CreationDate, + [RevisionDate] = @RevisionDate + WHERE + [Id] = @Id +END diff --git a/src/Sql/dbo/Tables/Device.sql b/src/Sql/dbo/Tables/Device.sql new file mode 100644 index 0000000000..4899ec025e --- /dev/null +++ b/src/Sql/dbo/Tables/Device.sql @@ -0,0 +1,17 @@ +CREATE TABLE [dbo].[Device] ( + [Id] UNIQUEIDENTIFIER NOT NULL, + [UserId] UNIQUEIDENTIFIER NOT NULL, + [Name] NVARCHAR (50) NOT NULL, + [Type] SMALLINT NOT NULL, + [PushToken] NVARCHAR (255) NULL, + [CreationDate] DATETIME2 (7) NOT NULL, + [RevisionDate] DATETIME2 (7) NOT NULL, + CONSTRAINT [PK_Device] PRIMARY KEY CLUSTERED ([Id] ASC), + CONSTRAINT [FK_Device_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id]) +); + + +GO +CREATE NONCLUSTERED INDEX [IX_Device_UserId] + ON [dbo].[Device]([UserId] ASC); + diff --git a/src/Sql/dbo/Views/DeviceView.sql b/src/Sql/dbo/Views/DeviceView.sql new file mode 100644 index 0000000000..ab10905444 --- /dev/null +++ b/src/Sql/dbo/Views/DeviceView.sql @@ -0,0 +1,6 @@ +CREATE VIEW [dbo].[DeviceView] +AS +SELECT + * +FROM + [dbo].[Device]