diff --git a/app/database/migrations/2026_07_02_100001_create_knowledge_chunks_table.php b/app/database/migrations/2026_07_02_100001_create_knowledge_chunks_table.php index 74c51b60..022099b5 100644 --- a/app/database/migrations/2026_07_02_100001_create_knowledge_chunks_table.php +++ b/app/database/migrations/2026_07_02_100001_create_knowledge_chunks_table.php @@ -16,7 +16,7 @@ return new class extends Migration public function up(): void { DB::statement(<<<'SQL' - CREATE TABLE knowledge_chunks ( + CREATE TABLE IF NOT EXISTS knowledge_chunks ( id BIGSERIAL PRIMARY KEY, source_path VARCHAR(255) NOT NULL, title VARCHAR(255) NOT NULL, @@ -32,7 +32,7 @@ return new class extends Migration CONSTRAINT uq_knowledge_chunks_source_chunk UNIQUE (source_path, chunk_index) ) SQL); - DB::statement('CREATE INDEX idx_knowledge_chunks_search ON knowledge_chunks USING GIN (search_tsv)'); + DB::statement('CREATE INDEX IF NOT EXISTS idx_knowledge_chunks_search ON knowledge_chunks USING GIN (search_tsv)'); } public function down(): void diff --git a/app/database/migrations/2026_07_02_100002_create_bot_dialogs_table.php b/app/database/migrations/2026_07_02_100002_create_bot_dialogs_table.php new file mode 100644 index 00000000..ad1c564b --- /dev/null +++ b/app/database/migrations/2026_07_02_100002_create_bot_dialogs_table.php @@ -0,0 +1,36 @@ +insert([ + 'jivo_chat_id' => 'chat-1', + 'direction' => 'in', + 'message' => 'что такое проект?', + 'created_at' => now(), + ]); + DB::table('bot_dialogs')->insert([ + 'jivo_chat_id' => 'chat-1', + 'direction' => 'out', + 'message' => 'Проект — это…', + 'matched_chunks' => json_encode([1, 2]), + 'latency_ms' => 2100, + 'escalated' => false, + 'created_at' => now(), + ]); + + expect(DB::table('bot_dialogs')->where('jivo_chat_id', 'chat-1')->count())->toBe(2); +});