|
|
|
|
|
|
| BEGIN;
|
|
|
|
|
| WITH room AS (
|
| INSERT INTO rooms(name, description)
|
| VALUES ('Test Room 1', 'Seeded test room 1')
|
| RETURNING id
|
| ), code_a AS (
|
| INSERT INTO codes(code, linked_to, room_id)
|
| VALUES ('TST01', NULL, (SELECT id FROM room))
|
| RETURNING id
|
| ), code_b AS (
|
| INSERT INTO codes(code, linked_to, room_id)
|
| VALUES ('TST02', (SELECT id FROM code_a), (SELECT id FROM room))
|
| RETURNING id
|
| )
|
| UPDATE codes SET linked_to = (SELECT id FROM code_b) WHERE id = (SELECT id FROM code_a);
|
|
|
|
|
| WITH room AS (
|
| INSERT INTO rooms(name, description)
|
| VALUES ('Test Room 2', 'Seeded test room 2')
|
| RETURNING id
|
| ), code_a AS (
|
| INSERT INTO codes(code, linked_to, room_id)
|
| VALUES ('TST03', NULL, (SELECT id FROM room))
|
| RETURNING id
|
| ), code_b AS (
|
| INSERT INTO codes(code, linked_to, room_id)
|
| VALUES ('TST04', (SELECT id FROM code_a), (SELECT id FROM room))
|
| RETURNING id
|
| )
|
| UPDATE codes SET linked_to = (SELECT id FROM code_b) WHERE id = (SELECT id FROM code_a);
|
|
|
|
|
| WITH room AS (
|
| INSERT INTO rooms(name, description)
|
| VALUES ('Test Room 3', 'Seeded test room 3')
|
| RETURNING id
|
| ), code_a AS (
|
| INSERT INTO codes(code, linked_to, room_id)
|
| VALUES ('TST05', NULL, (SELECT id FROM room))
|
| RETURNING id
|
| ), code_b AS (
|
| INSERT INTO codes(code, linked_to, room_id)
|
| VALUES ('TST06', (SELECT id FROM code_a), (SELECT id FROM room))
|
| RETURNING id
|
| )
|
| UPDATE codes SET linked_to = (SELECT id FROM code_b) WHERE id = (SELECT id FROM code_a);
|
|
|
| COMMIT;
|
|
|
|
|
| SELECT id, name, description, status, date_created FROM rooms WHERE name LIKE 'Test Room %';
|
| SELECT id, code, linked_to, room_id, used FROM codes WHERE code LIKE 'TST%'; |