Files
baseball-api/data/trade.sql
2020-09-19 13:20:25 -04:00

32 lines
973 B
SQL

CREATE TABLE IF NOT EXISTS `trade` (
`id` BINARY(16) PRIMARY KEY,
`teamId` BINARY(16) NOT NULL,
`oldPlayerId` BINARY(16) NOT NULL,
`newPlayerId` BINARY(16) NOT NULL,
`created` DATETIME,
`modified` DATETIME,
FOREIGN KEY(`teamId`) REFERENCES `team`(`id`) ON DELETE CASCADE,
FOREIGN KEY(`oldPlayerId`) REFERENCES `player`(`id`) ON DELETE CASCADE,
FOREIGN KEY(`newPlayerId`) REFERENCES `player`(`id`) ON DELETE CASCADE
);
DROP TRIGGER IF EXISTS `insertTradeTrigger`;
DELIMITER $$
CREATE TRIGGER `insertTradeTrigger` BEFORE INSERT ON `trade`
FOR EACH ROW
BEGIN
SET NEW.`created` = IFNULL(NEW.`created`, NOW());
END$$
DELIMITER ;
DROP TRIGGER IF EXISTS `updateTradeTrigger`;
DELIMITER $$
CREATE TRIGGER `updateTradeTrigger` BEFORE UPDATE ON `trade`
FOR EACH ROW
BEGIN
SET NEW.`created` = OLD.`created`;
SET NEW.`modified` = NOW();
END$$
DELIMITER ;