Files
herbapi/herbapi-api/migrations/006_create_suppliers.sql
T
florian.berthold 484979ad53 Initial HerbAPI implementation
Rust/Axum REST API (herbapi-api) with PostgreSQL, S3/Garage, OIDC auth.
Dioxus 0.7 WASM frontend (herbapi-ui) with sidebar layout and botanical reference style.
9 SQL migrations covering families, species, cultivars, suppliers, companions, images, users, API tokens.
2026-03-14 00:02:29 +01:00

30 lines
1.1 KiB
SQL

CREATE TABLE suppliers (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
slug TEXT NOT NULL UNIQUE,
name TEXT NOT NULL,
url TEXT,
is_organic BOOLEAN NOT NULL DEFAULT FALSE,
is_demeter BOOLEAN NOT NULL DEFAULT FALSE,
country TEXT,
notes TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE cultivar_suppliers (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
cultivar_id UUID NOT NULL REFERENCES cultivars(id) ON DELETE CASCADE,
supplier_id UUID NOT NULL REFERENCES suppliers(id) ON DELETE CASCADE,
article_number TEXT,
product_url TEXT,
price_eur NUMERIC(8,2),
pack_size NUMERIC(8,2),
pack_unit TEXT,
last_checked_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(cultivar_id, supplier_id, article_number)
);
CREATE INDEX idx_cs_cultivar ON cultivar_suppliers(cultivar_id);
CREATE INDEX idx_cs_supplier ON cultivar_suppliers(supplier_id);