19 lines
1003 B
SQL
19 lines
1003 B
SQL
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
|
|
|
CREATE TABLE `market_snapshot` (
|
|
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
|
`trade_date` date NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
/*!50001 DROP VIEW IF EXISTS `active_market_snapshot`*/;
|
|
/*!50001 CREATE ALGORITHM=UNDEFINED */
|
|
/*!50013 SQL SECURITY DEFINER */
|
|
/*!50001 VIEW `active_market_snapshot` AS select `market_snapshot`.`id` AS `id` from `market_snapshot` */;
|
|
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50003 TRIGGER `market_snapshot_before_insert` BEFORE INSERT ON `market_snapshot` FOR EACH ROW SET NEW.trade_date = COALESCE(NEW.trade_date, CURRENT_DATE) */;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `refresh_market_snapshot`() BEGIN SELECT COUNT(*) FROM market_snapshot; END */;;
|
|
/*!50106 CREATE*/ /*!50106 EVENT `purge_market_snapshot` ON SCHEDULE EVERY 1 DAY DO DELETE FROM market_snapshot WHERE trade_date < CURRENT_DATE - INTERVAL 365 DAY */;;
|
|
DELIMITER ;
|