-- ============================================================================
-- Migration 000: Initialize schema version tracking
-- ============================================================================
-- Crea tabella per tracciare versione schema database
-- Previene re-esecuzione di migrazioni già applicate
-- ============================================================================

-- Crea tabella schema_version se non esiste
CREATE TABLE IF NOT EXISTS schema_version (
    id INTEGER PRIMARY KEY DEFAULT 1,
    version INTEGER NOT NULL DEFAULT 0,
    applied_at TIMESTAMP NOT NULL DEFAULT NOW(),
    description TEXT
);

-- Inserisci versione iniziale (solo se tabella vuota)
INSERT INTO schema_version (id, version, description)
SELECT 1, 0, 'Initial schema version tracking'
WHERE NOT EXISTS (SELECT 1 FROM schema_version WHERE id = 1);

-- Constraint: solo 1 riga ammessa
ALTER TABLE schema_version ADD CONSTRAINT schema_version_single_row 
    CHECK (id = 1) NOT VALID;
