Gemeinderegister für Marktdurchführungen ergänzen
This commit is contained in:
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;
|
||||
Reference in new issue
Block a user