· 8 years ago · Mar 13, 2018, 01:00 AM
1START TRANSACTION;
2
3DO $$
4BEGIN
5 CREATE TEMPORARY TABLE IF NOT EXISTS temp_id_uuid_mapping (
6 id text,
7 original_id text
8 );
9
10 \copy temp_id_uuid_mapping from '/tmp/id_uuid_mapping.bin' with binary;
11
12 CREATE TEMPORARY TABLE IF NOT EXISTS vera_vehicle_aggregations_temp
13 AS SELECT * FROM vera_vehicle_aggregations;
14
15 UPDATE vera_vehicle_aggregations_temp
16 SET vehicle = temp_id_uuid_mapping.id
17 FROM temp_id_uuid_mapping
18 WHERE vera_vehicle_aggregations_temp.vehicle = temp_id_uuid_mapping.original_id;
19
20 DELETE FROM vera_vehicle_aggregations;
21
22 INSERT INTO vera_vehicle_aggregations
23 SELECT * FROM vera_vehicle_aggregations_temp;
24
25 DROP TABLE vera_vehicle_aggregations_temp;
26
27 DROP TABLE temp_id_uuid_mapping;
28
29 EXCEPTION WHEN OTHERS THEN RAISE NOTICE 'Exception during execution - %', SQLERRM ;
30END $$;
31
32COMMIT;