Skip to content

Commit b6e2974

Browse files
committed
feat(mssql): json is not null
- Messages TABLE - JsonMetaData is NOT NULL - json columns are checked to ensure they contain json data - StreamMessage TYPE - json_metadata is NOT NULL
1 parent 1cb7632 commit b6e2974

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/SqlServer/src/Eventuous.SqlServer/Scripts/1_Schema.sql

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,15 @@ IF OBJECT_ID('__schema__.Messages', 'U') IS NULL
2626
StreamPosition INT NOT NULL,
2727
GlobalPosition BIGINT IDENTITY (0,1) NOT NULL,
2828
JsonData NVARCHAR(MAX) NOT NULL,
29-
JsonMetadata NVARCHAR(MAX) NULL,
29+
JsonMetadata NVARCHAR(MAX) NOT NULL,
3030
Created DATETIME2 NOT NULL,
3131
CONSTRAINT PK_Events PRIMARY KEY CLUSTERED (GlobalPosition),
3232
CONSTRAINT FK_MessageStreamId FOREIGN KEY (StreamId) REFERENCES __schema__.Streams (StreamId),
3333
CONSTRAINT UQ_StreamIdAndStreamPosition UNIQUE NONCLUSTERED (StreamId, StreamPosition),
3434
CONSTRAINT UQ_StreamIdAndMessageId UNIQUE NONCLUSTERED (StreamId, MessageId),
3535
CONSTRAINT CK_StreamPositionGteZero CHECK (Messages.StreamPosition >= 0),
36+
CONSTRAINT CK_JsonDataIsJson CHECK (ISJSON(JsonData) = 1),
37+
CONSTRAINT CK_JsonMetadataIsJson CHECK (ISJSON(JsonMetadata) = 1),
3638
INDEX IDX_EventsStream (StreamId)
3739
);
3840
END
@@ -54,7 +56,6 @@ IF TYPE_ID('__schema__.StreamMessage') IS NULL
5456
message_id UNIQUEIDENTIFIER NOT NULL,
5557
message_type NVARCHAR(128) NOT NULL,
5658
json_data NVARCHAR(MAX) NOT NULL,
57-
json_metadata NVARCHAR(MAX) NULL
59+
json_metadata NVARCHAR(MAX) NOT NULL
5860
)
5961
END
60-

0 commit comments

Comments
 (0)