35 lines
1.0 KiB
MySQL
35 lines
1.0 KiB
MySQL
|
|
-- Migration 016: Saved Exercise Searches
|
||
|
|
-- Autor: Claude Code
|
||
|
|
-- Datum: 2026-04-24
|
||
|
|
-- Zweck: Nutzer können häufige Suchfilter speichern
|
||
|
|
|
||
|
|
DO $$
|
||
|
|
BEGIN
|
||
|
|
|
||
|
|
-- ============================================================================
|
||
|
|
-- SAVED SEARCHES
|
||
|
|
-- ============================================================================
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS saved_exercise_searches (
|
||
|
|
id SERIAL PRIMARY KEY,
|
||
|
|
profile_id INT NOT NULL REFERENCES profiles(id) ON DELETE CASCADE,
|
||
|
|
name VARCHAR(100) NOT NULL,
|
||
|
|
filters JSONB NOT NULL,
|
||
|
|
created_at TIMESTAMP DEFAULT NOW(),
|
||
|
|
updated_at TIMESTAMP DEFAULT NOW()
|
||
|
|
);
|
||
|
|
|
||
|
|
-- Index für User-Zugriff
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_saved_searches_profile
|
||
|
|
ON saved_exercise_searches(profile_id);
|
||
|
|
|
||
|
|
-- Trigger für updated_at
|
||
|
|
DROP TRIGGER IF EXISTS saved_searches_update ON saved_exercise_searches;
|
||
|
|
CREATE TRIGGER saved_searches_update
|
||
|
|
BEFORE UPDATE ON saved_exercise_searches
|
||
|
|
FOR EACH ROW EXECUTE FUNCTION update_timestamp();
|
||
|
|
|
||
|
|
RAISE NOTICE 'Migration 016 completed successfully';
|
||
|
|
|
||
|
|
END $$;
|