Add a database versioning system that tracks applied migrations and only runs new ones, significantly improving update speed. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 7a657272-55ba-4a79-9a2e-f1ed9bc7a528 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: ab56b852-52de-4cd1-a489-5cf48f3a2965 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/449cf7c4-c97a-45ae-8234-e5c5b8d6a84f/7a657272-55ba-4a79-9a2e-f1ed9bc7a528/myJmPIa
24 lines
998 B
SQL
24 lines
998 B
SQL
-- ============================================================================
|
|
-- 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;
|