fix(server): face search migration sometimes failing #10827
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
There can be an edge case that causes index creation to fail. Switching the data type to a basic real array and back to the vector type fixes this. Additionally handles not having an
embedding
column as there are a number of people who don't have it.Tested by using an old DB, dropping the embedding columns of
asset_faces
andsmart_search
and confirming that the server was able to start up. The tables look correct in DataGrip. However, theface_search
andsmart_search
tables in this case are empty (as expected), but I haven't tested that the migration still copies face embeddings in the typical case. It should, but as this is a sensitive area it should be explicitly tested.