From e01bcca751889406842fed690e0761929a087d2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Thu, 2 Jul 2026 20:37:47 +0300 Subject: [PATCH] =?UTF-8?q?feat(bot):=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8?= =?UTF-8?q?=D1=86=D0=B0=20bot=5Fdialogs=20=E2=80=94=20=D0=B6=D1=83=D1=80?= =?UTF-8?q?=D0=BD=D0=B0=D0=BB=20=D0=B4=D0=B8=D0=B0=D0=BB=D0=BE=D0=B3=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=B1=D0=BE=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2_100001_create_knowledge_chunks_table.php | 4 +-- ..._07_02_100002_create_bot_dialogs_table.php | 36 +++++++++++++++++++ app/tests/Feature/Bot/BotDialogsTableTest.php | 28 +++++++++++++++ 3 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 app/database/migrations/2026_07_02_100002_create_bot_dialogs_table.php create mode 100644 app/tests/Feature/Bot/BotDialogsTableTest.php 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); +});