mirror of
https://github.com/koloideal/DutyLog.git
synced 2026-06-10 10:25:29 +03:00
update
This commit is contained in:
+19
-9
@@ -1,25 +1,35 @@
|
||||
-- Массивы имен и фамилий для генерации
|
||||
DO $$
|
||||
DECLARE
|
||||
first_names TEXT[] := ARRAY['Aleksandr', 'Dmitriy', 'Maksim', 'Ivan', 'Artem', 'Mikhail', 'Daniil', 'Egor', 'Andrey', 'Nikita',
|
||||
'Anna', 'Mariya', 'Elena', 'Olga', 'Ekaterina', 'Natalya', 'Tatyana', 'Irina', 'Yuliya', 'Svetlana'];
|
||||
last_names TEXT[] := ARRAY['Ivanov', 'Petrov', 'Sidorov', 'Smirnov', 'Kuznetsov', 'Popov', 'Vasilev', 'Sokolov', 'Mikhaylov', 'Novikov',
|
||||
'Fedorov', 'Morozov', 'Volkov', 'Alekseev', 'Lebedev', 'Semenov', 'Egorov', 'Pavlov', 'Kozlov', 'Stepanov'];
|
||||
room_record RECORD;
|
||||
floor_num INT;
|
||||
floor_id INT;
|
||||
room_num INT;
|
||||
room_id INT;
|
||||
residents_count INT;
|
||||
i INT;
|
||||
first_name TEXT;
|
||||
last_name TEXT;
|
||||
BEGIN
|
||||
FOR room_record IN SELECT id FROM rooms LOOP
|
||||
residents_count := 2 + floor(random() * 2)::INT;
|
||||
FOR floor_num IN 2..5 LOOP
|
||||
INSERT INTO floors (number) VALUES (floor_num) RETURNING id INTO floor_id;
|
||||
|
||||
FOR i IN 1..residents_count LOOP
|
||||
first_name := first_names[1 + floor(random() * array_length(first_names, 1))::INT];
|
||||
last_name := last_names[1 + floor(random() * array_length(last_names, 1))::INT];
|
||||
FOR room_num IN 1..15 LOOP
|
||||
INSERT INTO rooms (number, on_floor)
|
||||
VALUES (floor_num * 100 + room_num, floor_id)
|
||||
RETURNING id INTO room_id;
|
||||
|
||||
INSERT INTO residents (real_name, room, is_busy, active_hours, inactive_hours, created_at, updated_at)
|
||||
VALUES (first_name || ' ' || last_name, room_record.id, false, 0, 0, NOW(), NOW());
|
||||
residents_count := 2 + floor(random() * 2)::INT;
|
||||
|
||||
FOR i IN 1..residents_count LOOP
|
||||
first_name := first_names[1 + floor(random() * array_length(first_names, 1))::INT];
|
||||
last_name := last_names[1 + floor(random() * array_length(last_names, 1))::INT];
|
||||
|
||||
INSERT INTO residents (real_name, room, is_busy, active_hours, inactive_hours, created_at, updated_at)
|
||||
VALUES (first_name || ' ' || last_name, room_id, false, 0, 0, NOW(), NOW());
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
END $$;
|
||||
|
||||
Reference in New Issue
Block a user