chore: complete update

This commit is contained in:
2025-07-17 16:24:20 +02:00
parent 899227b0a4
commit 64a7051137
1300 changed files with 85570 additions and 2756 deletions

View File

@@ -0,0 +1,65 @@
-- Migration für Meta-Entries Tabelle
-- Führe diese SQL-Datei aus um die Tabelle zu erstellen
CREATE TABLE IF NOT EXISTS meta_entries (
id INT PRIMARY KEY AUTO_INCREMENT,
-- Route-basierte Meta-Daten
route_pattern VARCHAR(255) NULL,
-- Entity-basierte Meta-Daten
entity_type VARCHAR(100) NULL,
entity_id INT NULL,
-- Meta-Daten Felder
title VARCHAR(255) NULL,
description TEXT NULL,
keywords TEXT NULL,
-- Open Graph
og_title VARCHAR(255) NULL,
og_description TEXT NULL,
og_image VARCHAR(500) NULL,
og_type VARCHAR(50) NULL,
-- Twitter
twitter_card VARCHAR(50) NULL,
twitter_site VARCHAR(100) NULL,
-- Andere
canonical VARCHAR(500) NULL,
custom_meta JSON NULL,
-- System-Felder
priority INT DEFAULT 0,
active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-- Indizes
INDEX idx_route_pattern (route_pattern),
INDEX idx_entity (entity_type, entity_id),
INDEX idx_active_priority (active, priority),
-- Unique Constraints
UNIQUE KEY unique_route_pattern (route_pattern),
UNIQUE KEY unique_entity (entity_type, entity_id),
-- Constraints
CONSTRAINT check_route_or_entity CHECK (
(route_pattern IS NOT NULL AND entity_type IS NULL AND entity_id IS NULL) OR
(route_pattern IS NULL AND entity_type IS NOT NULL AND entity_id IS NOT NULL)
)
);
-- Beispiel-Daten einfügen
INSERT INTO meta_entries (route_pattern, title, description, og_title, og_type, priority, active) VALUES
('/', 'Startseite - Meine Website', 'Willkommen auf meiner Website. Hier finden Sie alles über...', 'Startseite', 'website', 100, TRUE),
('/blog', 'Blog - Meine Website', 'Alle Artikel und Neuigkeiten aus unserem Blog', 'Blog', 'website', 90, TRUE),
('/blog/*', 'Blog: {title} - Meine Website', '{description}', '{title}', 'article', 80, TRUE),
('/contact', 'Kontakt - Meine Website', 'Nehmen Sie Kontakt mit uns auf. Wir freuen uns auf Ihre Nachricht.', 'Kontakt', 'website', 70, TRUE);
-- Template-Beispiele mit Platzhaltern
INSERT INTO meta_entries (entity_type, entity_id, title, description, og_title, og_description, priority, active) VALUES
('product', 1, '{product.name} - Jetzt kaufen | Mein Shop', '{product.name} für nur {product.price}€. {truncate:product.description}', '{product.name}', '{truncate:product.description}', 100, TRUE),
('article', 1, '{article.title} | Mein Blog', '{truncate:article.content}', '{article.title}', '{truncate:article.content}', 100, TRUE);