Saving snapshots

This commit is contained in:
2024-11-09 13:35:39 -06:00
parent 0a62eb7582
commit 13e79eb490
14 changed files with 176 additions and 16 deletions

View File

@@ -0,0 +1,6 @@
CREATE PROCEDURE [session].[CreateState]
@SessionId [session].[SessionSurrogateKey],
@Document NVARCHAR(MAX)
AS
INSERT INTO [session].[State] (SessionId, Document) VALUES (@SessionId, @Document);

View File

@@ -0,0 +1,7 @@
CREATE PROCEDURE [session].[ReadStatesBySession]
@SessionId [session].[SessionSurrogateKey]
AS
SELECT Id, SessionId, Document
FROM [session].[State]
WHERE Id = @SessionId;

View File

@@ -0,0 +1,9 @@
CREATE TABLE [session].[State]
(
[Id] BIGINT NOT NULL PRIMARY KEY IDENTITY,
[SessionId] [session].[SessionSurrogateKey] NOT NULL,
[Document] NVARCHAR(MAX) NOT NULL,
CONSTRAINT [FK_State_ToSession] FOREIGN KEY (SessionId) REFERENCES [session].[Session](Id),
CONSTRAINT [StateDocument must be JSON] CHECK(ISJSON(Document)=1)
)

View File

@@ -1,2 +1,3 @@
CREATE TYPE [session].[SessionSurrogateKey]
-- C# Guid
CREATE TYPE [session].[SessionSurrogateKey]
FROM CHAR(36) NOT NULL