Last active
February 2, 2021 22:21
-
-
Save SodaDev/2d6b8e8a8c0fdc1b85d02ced76280b3d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DROP TRIGGER IF EXISTS UPDATED_ROUTE; | |
CREATE TRIGGER UPDATED_ROUTE | |
AFTER UPDATE | |
ON routes | |
FOR EACH ROW | |
BEGIN | |
IF ( | |
MD5(CONCAT_WS('', NEW.airportFrom, NEW.airportTo, NEW.connectingAirport, NEW.newRoute, NEW.seasonalRoute, NEW.operator, NEW.group, NEW.tags)) | |
<> MD5(CONCAT_WS('', OLD.airportFrom, OLD.airportTo, OLD.connectingAirport, OLD.newRoute, OLD.seasonalRoute, OLD.operator, OLD.group, OLD.tags)) | |
) THEN | |
CALL mysql.lambda_async( | |
'RDS-EVENTS-CONSUMER', | |
JSON_OBJECT( | |
'new', JSON_OBJECT( | |
'airportFrom', NEW.airportFrom, | |
'airportTo', NEW.airportTo, | |
'connectingAirport', NEW.connectingAirport, | |
'newRoute', NEW.newRoute is true, | |
'seasonalRoute', NEW.seasonalRoute is true, | |
'operator', NEW.operator, | |
'group', NEW.group, | |
'tags', NEW.tags, | |
'similarArrivalAirportCodes', NEW.similarArrivalAirportCodes, | |
'carrierCode', NEW.carrierCode), | |
'old', JSON_OBJECT( | |
'airportFrom', OLD.airportFrom, | |
'airportTo', OLD.airportTo, | |
'connectingAirport', OLD.connectingAirport, | |
'newRoute', OLD.newRoute is true, | |
'seasonalRoute', OLD.seasonalRoute is true, | |
'operator', OLD.operator, | |
'group', OLD.group, | |
'tags', OLD.tags, | |
'similarArrivalAirportCodes', OLD.similarArrivalAirportCodes, | |
'carrierCode', OLD.carrierCode) | |
) | |
); | |
end if; | |
end; | |
# Test update | |
INSERT INTO flights.routes (airportFrom, airportTo, connectingAirport, newRoute, seasonalRoute, operator, `group`, tags, similarArrivalAirportCodes, carrierCode) VALUES ('FOO', 'BAR', null, false, false, 'RYANAIR', 'CITY', '', '', 'FR'); | |
UPDATE flights.routes SET newRoute = true WHERE airportFrom = 'FOO' AND airportTo = 'BAR'; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment