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.
Extension Creation: Added CREATE EXTENSION IF NOT EXISTS vector; to ensure the vector extension is enabled only if it's not already present.
Table Creation: Utilized CREATE TABLE IF NOT EXISTS to prevent errors if the site_pages table already exists.
Index Creation: Since PostgreSQL doesn't support CREATE INDEX IF NOT EXISTS, we employed a DO $$ ... $$; block to check for the existence of each index before attempting to create it.
Function Creation: Included DROP FUNCTION IF EXISTS before the CREATE FUNCTION statement to ensure that any existing match_site_pages function is removed prior to defining the new one.
Row-Level Security: Ensured that Row-Level Security is enabled and a policy is set to allow public read access.
These adjustments aim to make the script idempotent, meaning it can be run multiple times without causing errors due to existing objects, and compatible with Supabase's security features.