u
This commit is contained in:
@@ -771,6 +771,60 @@ BEGIN
|
||||
END
|
||||
`;
|
||||
|
||||
export const INIT_MODELCONVERSATION = `
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'modelconversation')
|
||||
BEGIN
|
||||
CREATE TABLE modelconversation (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
companyuser_id INT NOT NULL,
|
||||
provider NVARCHAR(100) NOT NULL,
|
||||
model NVARCHAR(255) NOT NULL,
|
||||
created_at DATETIME2 NOT NULL CONSTRAINT DF_modelconversation_created_at DEFAULT SYSUTCDATETIME(),
|
||||
updated_at DATETIME2 NOT NULL CONSTRAINT DF_modelconversation_updated_at DEFAULT SYSUTCDATETIME(),
|
||||
state NVARCHAR(20) NOT NULL CONSTRAINT DF_modelconversation_state DEFAULT 'idle',
|
||||
CONSTRAINT FK_modelconversation_companyuser FOREIGN KEY (companyuser_id) REFERENCES companyuser(id) ON DELETE CASCADE,
|
||||
CONSTRAINT CK_modelconversation_state CHECK (state IN ('idle', 'busy'))
|
||||
);
|
||||
CREATE INDEX IX_modelconversation_companyuser ON modelconversation (companyuser_id, updated_at);
|
||||
END
|
||||
`;
|
||||
|
||||
|
||||
export const INIT_MODELVFS = `
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'modelvfs')
|
||||
BEGIN
|
||||
CREATE TABLE modelvfs (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
company_id INT NOT NULL,
|
||||
name NVARCHAR(255) NOT NULL,
|
||||
mime NVARCHAR(100) NOT NULL,
|
||||
content VARBINARY(MAX) NOT NULL,
|
||||
meta NVARCHAR(MAX),
|
||||
created_at DATETIME2 NOT NULL CONSTRAINT DF_modelvfs_created_at DEFAULT SYSUTCDATETIME(),
|
||||
updated_at DATETIME2 NOT NULL CONSTRAINT DF_modelvfs_updated_at DEFAULT SYSUTCDATETIME(),
|
||||
CONSTRAINT FK_modelvfs_company FOREIGN KEY (company_id) REFERENCES company(id) ON DELETE CASCADE,
|
||||
CONSTRAINT UQ_modelvfs_company_name UNIQUE (company_id, name)
|
||||
);
|
||||
CREATE INDEX IX_modelvfs_company_name ON modelvfs (company_id, name);
|
||||
END
|
||||
`;
|
||||
|
||||
export const INIT_MODELMESSAGE = `
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'modelmessage')
|
||||
BEGIN
|
||||
CREATE TABLE modelmessage (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
conversation_id INT NOT NULL,
|
||||
created_at DATETIME2 NOT NULL CONSTRAINT DF_modelmessage_created_at DEFAULT SYSUTCDATETIME(),
|
||||
role NVARCHAR(20) NOT NULL,
|
||||
message NVARCHAR(MAX) NOT NULL,
|
||||
CONSTRAINT FK_modelmessage_conversation FOREIGN KEY (conversation_id) REFERENCES modelconversation(id) ON DELETE CASCADE,
|
||||
CONSTRAINT CK_modelmessage_role CHECK (role IN ('system', 'user', 'assistant', 'tool', 'reasoning'))
|
||||
);
|
||||
CREATE INDEX IX_modelmessage_conversation ON modelmessage (conversation_id, id);
|
||||
END
|
||||
`;
|
||||
|
||||
export const INIT_SYNCPOS = `
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'syncpos')
|
||||
BEGIN
|
||||
@@ -1087,6 +1141,9 @@ export const SCHEMA_SCRIPTS = [
|
||||
INIT_GET_NEXT_NUMBER_WITH_PREFIX_AND_PADDING,
|
||||
INIT_PEEK_NEXT_NUMBER_WITH_PREFIX_AND_PADDING,
|
||||
INIT_COMPANYUSER,
|
||||
INIT_MODELCONVERSATION,
|
||||
INIT_MODELMESSAGE,
|
||||
INIT_MODELVFS,
|
||||
INIT_ARTICLEHISTORY,
|
||||
INIT_ARTICLETOMBSTONE,
|
||||
INIT_ENTITYHISTORY,
|
||||
|
||||
Reference in New Issue
Block a user