veza/veza-backend-api/migrations/033_create_track_history.sql
2025-12-03 20:29:37 +01:00

21 lines
945 B
SQL

-- T0326: Create Track History Database Model
-- Create table track_history for tracking track modifications
-- Table track_history
CREATE TABLE IF NOT EXISTS track_history (
id BIGSERIAL PRIMARY KEY,
track_id BIGINT NOT NULL REFERENCES tracks(id) ON DELETE CASCADE,
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE SET NULL,
action VARCHAR(50) NOT NULL,
old_value TEXT,
new_value TEXT,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
-- Indexes for performance
CREATE INDEX IF NOT EXISTS idx_track_history_track_id ON track_history(track_id);
CREATE INDEX IF NOT EXISTS idx_track_history_user_id ON track_history(user_id);
CREATE INDEX IF NOT EXISTS idx_track_history_action ON track_history(action);
CREATE INDEX IF NOT EXISTS idx_track_history_created_at ON track_history(created_at DESC);
CREATE INDEX IF NOT EXISTS idx_track_history_track_created ON track_history(track_id, created_at DESC);