- Freitext wird jetzt direkt als venue_name übertragen und somit auch ohne Suchtreffer gespeichert.

- Die Suche ist international und kombiniert lokale Ergebnisse mit Nominatim.
  - Externe IDs werden korrekt als nominatim:<Typ>:<ID> gespeichert und dedupliziert.
  - Straße, PLZ, Stadt und Land können beim Anlegen manuell ergänzt werden.
  - Im Adminbereich können Orte korrigiert, bestätigt, mit Aliasen versehen und zusammengeführt werden.
This commit is contained in:
kai
2026-08-26 10:02:52 +02:00
parent caddac9eab
commit 4035176370
7 changed files with 490 additions and 79 deletions
+11
View File
@@ -37,9 +37,17 @@ CREATE TABLE venues (
longitude DOUBLE PRECISION,
external_id VARCHAR(255),
source VARCHAR(50),
is_verified BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE venue_aliases (
id SERIAL PRIMARY KEY,
venue_id INTEGER NOT NULL REFERENCES venues(id) ON DELETE CASCADE,
alias VARCHAR(255) NOT NULL,
UNIQUE (venue_id, alias)
);
CREATE TABLE concerts (
id SERIAL PRIMARY KEY,
artist VARCHAR(255) NOT NULL,
@@ -96,6 +104,9 @@ CREATE INDEX idx_venues_name
CREATE INDEX idx_venues_external_id
ON venues(external_id);
CREATE INDEX idx_venue_aliases_alias
ON venue_aliases (LOWER(alias));
CREATE INDEX idx_concert_comments_concert
ON concert_comments(concert_id, created_at);