Skip to content

Commit c35108a

Browse files
committed
JsonMetadata is NOT NULL and json columns are checked to contain json data
1 parent a77824c commit c35108a

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

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

Lines changed: 3 additions & 1 deletion
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

0 commit comments

Comments
 (0)