new migrations

This commit is contained in:
Shadow 2026-04-08 00:05:47 -05:00
parent 4cd7477538
commit f42252977d
No known key found for this signature in database
7 changed files with 366 additions and 89 deletions

View File

@ -1,6 +0,0 @@
CREATE TABLE IF NOT EXISTS keyValue (
key TEXT PRIMARY KEY,
value TEXT NOT NULL,
createdAt INTEGER NOT NULL,
updatedAt INTEGER NOT NULL
);

View File

@ -0,0 +1,46 @@
CREATE TABLE `helper_events` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`event_type` text DEFAULT 'helper_command' NOT NULL,
`thread_id` text,
`message_count` integer,
`event_time` text NOT NULL,
`command` text NOT NULL,
`invoked_by_id` text,
`invoked_by_username` text,
`invoked_by_global_name` text,
`received_at` text DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) NOT NULL,
`raw_payload` text NOT NULL
);
--> statement-breakpoint
CREATE INDEX `idx_helper_events_event_time` ON `helper_events` (`event_time`);--> statement-breakpoint
CREATE INDEX `idx_helper_events_command` ON `helper_events` (`command`);--> statement-breakpoint
CREATE INDEX `idx_helper_events_thread_id` ON `helper_events` (`thread_id`);--> statement-breakpoint
CREATE INDEX `idx_helper_events_invoked_by_id` ON `helper_events` (`invoked_by_id`);--> statement-breakpoint
CREATE INDEX `idx_helper_events_event_type` ON `helper_events` (`event_type`);--> statement-breakpoint
CREATE INDEX `idx_helper_events_thread_time` ON `helper_events` (`thread_id`,`event_time`);--> statement-breakpoint
CREATE TABLE `keyValue` (
`key` text PRIMARY KEY NOT NULL,
`value` text NOT NULL,
`createdAt` integer NOT NULL,
`updatedAt` integer NOT NULL
);
--> statement-breakpoint
CREATE TABLE `tracked_threads` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`thread_id` text NOT NULL,
`created_at` text NOT NULL,
`last_checked` text,
`solved` integer DEFAULT 0 NOT NULL,
`warning_level` integer DEFAULT 0 NOT NULL,
`closed` integer DEFAULT 0 NOT NULL,
`last_message_count` integer,
`received_at` text DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) NOT NULL,
`raw_payload` text NOT NULL
);
--> statement-breakpoint
CREATE UNIQUE INDEX `tracked_threads_thread_id_unique` ON `tracked_threads` (`thread_id`);--> statement-breakpoint
CREATE INDEX `idx_tracked_threads_solved` ON `tracked_threads` (`solved`);--> statement-breakpoint
CREATE INDEX `idx_tracked_threads_last_checked` ON `tracked_threads` (`last_checked`);--> statement-breakpoint
CREATE INDEX `idx_tracked_threads_received_at` ON `tracked_threads` (`received_at`);--> statement-breakpoint
CREATE INDEX `idx_tracked_threads_closed` ON `tracked_threads` (`closed`);--> statement-breakpoint
CREATE INDEX `idx_tracked_threads_warning_level` ON `tracked_threads` (`warning_level`);

View File

@ -1,20 +0,0 @@
CREATE TABLE IF NOT EXISTS helper_events (
id INTEGER PRIMARY KEY AUTOINCREMENT,
thread_id TEXT,
message_count INTEGER,
event_time TEXT NOT NULL,
command TEXT NOT NULL,
invoked_by_id TEXT,
invoked_by_username TEXT,
invoked_by_global_name TEXT,
received_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
raw_payload TEXT NOT NULL
);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS idx_helper_events_event_time ON helper_events(event_time DESC);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS idx_helper_events_command ON helper_events(command);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS idx_helper_events_thread_id ON helper_events(thread_id);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS idx_helper_events_invoked_by_id ON helper_events(invoked_by_id);

View File

@ -1,26 +0,0 @@
ALTER TABLE helper_events
ADD COLUMN event_type TEXT NOT NULL DEFAULT 'helper_command';
--> statement-breakpoint
UPDATE helper_events
SET event_type = 'helper_command'
WHERE event_type IS NULL OR TRIM(event_type) = '';
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS idx_helper_events_event_type ON helper_events(event_type);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS idx_helper_events_thread_time ON helper_events(thread_id, event_time DESC);
--> statement-breakpoint
CREATE TABLE IF NOT EXISTS tracked_threads (
id INTEGER PRIMARY KEY AUTOINCREMENT,
thread_id TEXT NOT NULL UNIQUE,
created_at TEXT NOT NULL,
last_checked TEXT,
solved INTEGER NOT NULL DEFAULT 0,
received_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
raw_payload TEXT NOT NULL
);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS idx_tracked_threads_solved ON tracked_threads(solved);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS idx_tracked_threads_last_checked ON tracked_threads(last_checked DESC);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS idx_tracked_threads_received_at ON tracked_threads(received_at DESC);

View File

@ -1,12 +0,0 @@
ALTER TABLE tracked_threads
ADD COLUMN warning_level INTEGER NOT NULL DEFAULT 0;
--> statement-breakpoint
ALTER TABLE tracked_threads
ADD COLUMN closed INTEGER NOT NULL DEFAULT 0;
--> statement-breakpoint
ALTER TABLE tracked_threads
ADD COLUMN last_message_count INTEGER;
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS idx_tracked_threads_closed ON tracked_threads(closed);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS idx_tracked_threads_warning_level ON tracked_threads(warning_level);

View File

@ -0,0 +1,316 @@
{
"version": "6",
"dialect": "sqlite",
"id": "b004b5c2-29f6-4f87-9da9-0d5448cbd748",
"prevId": "00000000-0000-0000-0000-000000000000",
"tables": {
"helper_events": {
"name": "helper_events",
"columns": {
"id": {
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true,
"autoincrement": true
},
"event_type": {
"name": "event_type",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "'helper_command'"
},
"thread_id": {
"name": "thread_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"message_count": {
"name": "message_count",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"event_time": {
"name": "event_time",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"command": {
"name": "command",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"invoked_by_id": {
"name": "invoked_by_id",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"invoked_by_username": {
"name": "invoked_by_username",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"invoked_by_global_name": {
"name": "invoked_by_global_name",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"received_at": {
"name": "received_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "(strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))"
},
"raw_payload": {
"name": "raw_payload",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"idx_helper_events_event_time": {
"name": "idx_helper_events_event_time",
"columns": [
"event_time"
],
"isUnique": false
},
"idx_helper_events_command": {
"name": "idx_helper_events_command",
"columns": [
"command"
],
"isUnique": false
},
"idx_helper_events_thread_id": {
"name": "idx_helper_events_thread_id",
"columns": [
"thread_id"
],
"isUnique": false
},
"idx_helper_events_invoked_by_id": {
"name": "idx_helper_events_invoked_by_id",
"columns": [
"invoked_by_id"
],
"isUnique": false
},
"idx_helper_events_event_type": {
"name": "idx_helper_events_event_type",
"columns": [
"event_type"
],
"isUnique": false
},
"idx_helper_events_thread_time": {
"name": "idx_helper_events_thread_time",
"columns": [
"thread_id",
"event_time"
],
"isUnique": false
}
},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"keyValue": {
"name": "keyValue",
"columns": {
"key": {
"name": "key",
"type": "text",
"primaryKey": true,
"notNull": true,
"autoincrement": false
},
"value": {
"name": "value",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"createdAt": {
"name": "createdAt",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"updatedAt": {
"name": "updatedAt",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
},
"tracked_threads": {
"name": "tracked_threads",
"columns": {
"id": {
"name": "id",
"type": "integer",
"primaryKey": true,
"notNull": true,
"autoincrement": true
},
"thread_id": {
"name": "thread_id",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"last_checked": {
"name": "last_checked",
"type": "text",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"solved": {
"name": "solved",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": 0
},
"warning_level": {
"name": "warning_level",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": 0
},
"closed": {
"name": "closed",
"type": "integer",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": 0
},
"last_message_count": {
"name": "last_message_count",
"type": "integer",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"received_at": {
"name": "received_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "(strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))"
},
"raw_payload": {
"name": "raw_payload",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
}
},
"indexes": {
"tracked_threads_thread_id_unique": {
"name": "tracked_threads_thread_id_unique",
"columns": [
"thread_id"
],
"isUnique": true
},
"idx_tracked_threads_solved": {
"name": "idx_tracked_threads_solved",
"columns": [
"solved"
],
"isUnique": false
},
"idx_tracked_threads_last_checked": {
"name": "idx_tracked_threads_last_checked",
"columns": [
"last_checked"
],
"isUnique": false
},
"idx_tracked_threads_received_at": {
"name": "idx_tracked_threads_received_at",
"columns": [
"received_at"
],
"isUnique": false
},
"idx_tracked_threads_closed": {
"name": "idx_tracked_threads_closed",
"columns": [
"closed"
],
"isUnique": false
},
"idx_tracked_threads_warning_level": {
"name": "idx_tracked_threads_warning_level",
"columns": [
"warning_level"
],
"isUnique": false
}
},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"checkConstraints": {}
}
},
"views": {},
"enums": {},
"_meta": {
"schemas": {},
"tables": {},
"columns": {}
},
"internal": {
"indexes": {}
}
}

View File

@ -4,31 +4,10 @@
"entries": [
{
"idx": 0,
"version": "7",
"when": 1762300800000,
"tag": "0000_key_value",
"breakpoints": true
},
{
"idx": 1,
"version": "7",
"when": 1762300800001,
"tag": "0001_init",
"breakpoints": true
},
{
"idx": 2,
"version": "7",
"when": 1762300800002,
"tag": "0002_generic_worker_events",
"breakpoints": true
},
{
"idx": 3,
"version": "7",
"when": 1762300800003,
"tag": "0003_tracked_thread_state",
"version": "6",
"when": 1775624708476,
"tag": "0000_productive_tinkerer",
"breakpoints": true
}
]
}
}