From cd03874b4d1c47d19ed207eea17e2d8368392ecd Mon Sep 17 00:00:00 2001 From: Roman Rizzi Date: Tue, 14 Jan 2025 17:33:01 -0300 Subject: [PATCH] FIX: Missing table check in post_migration (#1068) --- ...250114184356_drop_old_embedding_tables2.rb | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/db/post_migrate/20250114184356_drop_old_embedding_tables2.rb b/db/post_migrate/20250114184356_drop_old_embedding_tables2.rb index 2f422021..6b873924 100644 --- a/db/post_migrate/20250114184356_drop_old_embedding_tables2.rb +++ b/db/post_migrate/20250114184356_drop_old_embedding_tables2.rb @@ -1,20 +1,22 @@ # frozen_string_literal: true class DropOldEmbeddingTables2 < ActiveRecord::Migration[7.2] def up - # Copy rag embeddings created during deploy. - execute <<~SQL - INSERT INTO ai_document_fragments_embeddings (rag_document_fragment_id, model_id, model_version, strategy_id, strategy_version, digest, embeddings, created_at, updated_at) - ( - SELECT old_table.* - FROM ai_document_fragment_embeddings old_table - LEFT OUTER JOIN ai_document_fragments_embeddings target ON ( - target.model_id = old_table.model_id AND - target.strategy_id = old_table.strategy_id AND - target.rag_document_fragment_id = old_table.rag_document_fragment_id + if table_exists?(:ai_document_fragment_embeddings) + # Copy rag embeddings created during deploy. + execute <<~SQL + INSERT INTO ai_document_fragments_embeddings (rag_document_fragment_id, model_id, model_version, strategy_id, strategy_version, digest, embeddings, created_at, updated_at) + ( + SELECT old_table.* + FROM ai_document_fragment_embeddings old_table + LEFT OUTER JOIN ai_document_fragments_embeddings target ON ( + target.model_id = old_table.model_id AND + target.strategy_id = old_table.strategy_id AND + target.rag_document_fragment_id = old_table.rag_document_fragment_id + ) + WHERE target.rag_document_fragment_id IS NULL ) - WHERE target.rag_document_fragment_id IS NULL - ) - SQL + SQL + end execute <<~SQL DROP INDEX IF EXISTS ai_topic_embeddings_1_1_search_bit;