Files
silo/migrations/005_property_schema_version.sql
2026-01-24 15:03:17 -06:00

31 lines
1.2 KiB
PL/PgSQL

-- Migration: 005_property_schema_version
-- Description: Track property schema version for automated migrations
BEGIN;
-- Add property schema version to revisions
-- This tracks which version of the property schema was used when the revision was created
ALTER TABLE revisions ADD COLUMN IF NOT EXISTS property_schema_version INTEGER DEFAULT 1;
-- Create index for finding revisions that need migration
CREATE INDEX IF NOT EXISTS idx_revisions_property_schema_version ON revisions(property_schema_version);
-- Create property migration history table
-- Tracks when property schema migrations have been run
CREATE TABLE IF NOT EXISTS property_migrations (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
schema_name TEXT NOT NULL,
from_version INTEGER NOT NULL,
to_version INTEGER NOT NULL,
items_affected INTEGER NOT NULL DEFAULT 0,
started_at TIMESTAMPTZ NOT NULL DEFAULT now(),
completed_at TIMESTAMPTZ,
status TEXT NOT NULL DEFAULT 'pending', -- pending, running, completed, failed
error_message TEXT
);
CREATE INDEX IF NOT EXISTS idx_property_migrations_schema ON property_migrations(schema_name);
CREATE INDEX IF NOT EXISTS idx_property_migrations_status ON property_migrations(status);
COMMIT;