Gemeinderegister für Marktdurchführungen ergänzen

This commit is contained in:
gitea_admin committed 2026-09-20 11:48:00 +02:00
1 parent 273fb05833
commit 2d3c9ce4ab
8 files changed
+177 -18

No files matched your search

@@ -0,0 +1,40 @@
BEGIN;
CREATE TABLE market_municipality (
id BIGSERIAL PRIMARY KEY,
municipality_reference_id BIGINT UNIQUE REFERENCES market_municipality_reference(id) ON DELETE RESTRICT,
name TEXT NOT NULL,
canton_code TEXT,
bfs_municipality_number INTEGER,
data_version DATE,
source TEXT NOT NULL DEFAULT 'local',
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
CONSTRAINT chk_market_municipality_source CHECK (source IN ('reference', 'local'))
);
CREATE UNIQUE INDEX uq_market_municipality_name
ON market_municipality (LOWER(TRIM(name)));
CREATE INDEX idx_market_municipality_name
ON market_municipality (name);
INSERT INTO market_municipality (
municipality_reference_id, name, canton_code, bfs_municipality_number, data_version, source, is_active
)
SELECT id, name, canton_code, bfs_municipality_number, data_version, 'reference', is_active
FROM market_municipality_reference;
ALTER TABLE market_occurrence
DROP CONSTRAINT market_occurrence_municipality_reference_id_fkey;
UPDATE market_occurrence o
SET municipality_reference_id = m.id
FROM market_municipality m
WHERE m.municipality_reference_id = o.municipality_reference_id;
ALTER TABLE market_occurrence
ADD CONSTRAINT fk_market_occurrence_municipality
FOREIGN KEY (municipality_reference_id) REFERENCES market_municipality(id) ON DELETE RESTRICT;
COMMIT;