- Fixed 'relation session_kb_associations does not exist' error in core consolidated migration. - Renamed migration directories from timestamp-based to version-based (6.0.x, 6.1.x, 6.2.x). - Reorganized migrations into dedicated feature folders (products, dashboards, learn, video). - Updated migration execution order in core/shared/utils.rs. - Moves legacy migrations to 6.0.x/6.1.x and workflow to 6.2.0.
40 lines
1.5 KiB
SQL
40 lines
1.5 KiB
SQL
-- Workflow state persistence (survives server restart)
|
|
CREATE TABLE workflow_executions (
|
|
id UUID PRIMARY KEY,
|
|
bot_id UUID NOT NULL REFERENCES bots(id),
|
|
workflow_name TEXT NOT NULL,
|
|
current_step INTEGER NOT NULL DEFAULT 1,
|
|
state_json TEXT NOT NULL,
|
|
status TEXT NOT NULL DEFAULT 'running',
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
-- Event subscriptions persistence
|
|
CREATE TABLE workflow_events (
|
|
id UUID PRIMARY KEY,
|
|
workflow_id UUID REFERENCES workflow_executions(id),
|
|
event_name TEXT NOT NULL,
|
|
event_data_json TEXT,
|
|
processed BOOLEAN NOT NULL DEFAULT FALSE,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
-- Cross-bot memory sharing
|
|
CREATE TABLE bot_shared_memory (
|
|
id UUID PRIMARY KEY,
|
|
source_bot_id UUID NOT NULL REFERENCES bots(id),
|
|
target_bot_id UUID NOT NULL REFERENCES bots(id),
|
|
memory_key TEXT NOT NULL,
|
|
memory_value TEXT NOT NULL,
|
|
shared_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
UNIQUE(target_bot_id, memory_key)
|
|
);
|
|
|
|
-- Indexes for performance
|
|
CREATE INDEX idx_workflow_executions_status ON workflow_executions(status);
|
|
CREATE INDEX idx_workflow_executions_bot_id ON workflow_executions(bot_id);
|
|
CREATE INDEX idx_workflow_events_processed ON workflow_events(processed);
|
|
CREATE INDEX idx_workflow_events_name ON workflow_events(event_name);
|
|
CREATE INDEX idx_bot_shared_memory_target ON bot_shared_memory(target_bot_id, memory_key);
|
|
CREATE INDEX idx_bot_shared_memory_source ON bot_shared_memory(source_bot_id);
|