1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
CREATE TABLE accommodations (
id serial PRIMARY KEY,
name text NOT NULL,
default_price numeric(10, 2) NOT NULL
);
INSERT INTO accommodations (name, default_price)
SELECT
CONCAT('accommodation_', generate_series) AS name,
TRUNC(RANDOM() * 100 + 200) AS default_price
FROM GENERATE_SERIES(1, 10000);
CREATE TABLE overrides (
id serial PRIMARY KEY,
accommodation_id integer NOT NULL REFERENCES accommodations (id),
date date NOT NULL,
price numeric(10, 2) NOT NULL
);
ALTER TABLE overrides ADD constraint unique_dates UNIQUE (
accommodation_id, date
);
INSERT INTO overrides (accommodation_id, date, price) SELECT
(generate_series / 100) + 1 AS accommodation_id,
'2025-01-01'::date + (generate_series % 100) * '3 days'::interval AS date,
TRUNC(RANDOM() * 100 + 200) AS price
FROM GENERATE_SERIES(1, 999999);
|