-- Remove constraints to table measured_values ALTER TABLE humidities DROP CONSTRAINT fk_humidites_measured_value_id; ALTER TABLE pressures DROP CONSTRAINT fk_pressures_measured_value_id; ALTER TABLE temperatures DROP CONSTRAINT fk_temperatures_measured_value_id; -- Rename measured_value_id to sensor_id ALTER TABLE humidities RENAME COLUMN measured_value_id TO sensor_id; ALTER TABLE pressures RENAME COLUMN measured_value_id TO sensor_id; ALTER TABLE temperatures RENAME COLUMN measured_value_id TO sensor_id; -- Add new column measures_value_id with data from sensor_id ALTER TABLE humidities ADD COLUMN measured_value_id CHAR(36); UPDATE humidities SET measured_value_id=sensor_id; ALTER TABLE pressures ADD COLUMN measured_value_id CHAR(36); UPDATE pressures SET measured_value_id=sensor_id; ALTER TABLE temperatures ADD COLUMN measured_value_id CHAR(36); UPDATE temperatures SET measured_value_id=sensor_id; -- Update sensor_id's UPDATE humidities h SET sensor_id = ( SELECT m.sensor_id FROM measured_values m WHERE m.id = h.measured_value_id ); UPDATE pressures p SET sensor_id = ( SELECT m.sensor_id FROM measured_values m WHERE m.id = p.measured_value_id ); UPDATE temperatures t SET sensor_id = ( SELECT m.sensor_id FROM measured_values m WHERE m.id = t.measured_value_id ); -- Delete sensor_id columns ALTER TABLE humidities DROP COLUMN measured_value_id; ALTER TABLE pressures DROP COLUMN measured_value_id; ALTER TABLE temperatures DROP COLUMN measured_value_id; -- Add foreign keys ALTER TABLE humidities ADD CONSTRAINT fk_humidites_sensor_id FOREIGN KEY (sensor_id) REFERENCES sensors(sensor_id) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE pressures ADD CONSTRAINT fk_pressures_sensor_id FOREIGN KEY (sensor_id) REFERENCES sensors(sensor_id) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE temperatures ADD CONSTRAINT fk_temperatures_sensor_id FOREIGN KEY (sensor_id) REFERENCES sensors(sensor_id) ON DELETE CASCADE ON UPDATE CASCADE; -- drop measured values table DROP TABLE measured_values CASCADE;