central/sql/migrations/007_add_config_system.sql

21 lines
863 B
MySQL
Raw Normal View History

-- Migration 007: Add config.system table for global settings
-- Idempotent per docs/migrations.md
CREATE TABLE IF NOT EXISTS config.system (
id BOOLEAN PRIMARY KEY DEFAULT true CHECK (id = true),
setup_complete BOOLEAN NOT NULL DEFAULT false,
session_lifetime_days INTEGER NOT NULL DEFAULT 90,
map_tile_url TEXT NOT NULL DEFAULT 'https://tile.openstreetmap.org/{z}/{x}/{y}.png',
map_attribution TEXT NOT NULL DEFAULT '© OpenStreetMap contributors',
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
-- Reuse existing set_updated_at trigger function
DROP TRIGGER IF EXISTS system_set_updated_at ON config.system;
CREATE TRIGGER system_set_updated_at
BEFORE UPDATE ON config.system
FOR EACH ROW
EXECUTE FUNCTION config.set_updated_at();
-- Seed single row
INSERT INTO config.system (id) VALUES (true) ON CONFLICT DO NOTHING;