TeamVis Self-Host-Bundle v0.31.0
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
-- Multi-Standort: Stadtwerke / Konzerne haben oft mehrere Standorte
|
||||
-- (Werk, Verwaltung, Außenstelle). Mitarbeiter werden einem Standort
|
||||
-- zugeordnet, im Admin-Verzeichnis und Organigramm filterbar.
|
||||
-- ====================================================================
|
||||
-- Optional: ein Standort kann eine eigene Anschrift haben (Adresse,
|
||||
-- PLZ, Stadt). Die Mitarbeiter-Adresse hat aber Vorrang, wenn sie
|
||||
-- gepflegt ist.
|
||||
|
||||
create table if not exists public.locations (
|
||||
id uuid primary key default gen_random_uuid(),
|
||||
slug text not null unique,
|
||||
name text not null,
|
||||
short_name text,
|
||||
street text,
|
||||
postal_code text,
|
||||
city text,
|
||||
sort_order integer not null default 0,
|
||||
created_at timestamptz not null default now(),
|
||||
updated_at timestamptz not null default now()
|
||||
);
|
||||
|
||||
create index if not exists locations_sort_order_idx
|
||||
on public.locations (sort_order, name);
|
||||
|
||||
drop trigger if exists trg_locations_updated_at on public.locations;
|
||||
create trigger trg_locations_updated_at
|
||||
before update on public.locations
|
||||
for each row execute function public.set_updated_at();
|
||||
|
||||
alter table public.employees
|
||||
add column if not exists location_id uuid
|
||||
references public.locations(id) on delete set null;
|
||||
|
||||
create index if not exists employees_location_id_idx
|
||||
on public.employees (location_id);
|
||||
|
||||
grant select (location_id) on public.employees to anon;
|
||||
|
||||
alter table public.locations enable row level security;
|
||||
-- Service-Role-only — anon braucht den Standort nicht direkt; wenn die
|
||||
-- Karte ihn anzeigt, hilft App-Code die Auflösung zu machen.
|
||||
Reference in New Issue
Block a user