SET sql_log_bin=0; CREATE DATABASE `fileshare`; USE `fileshare`; CREATE TABLE `sessions` ( `id` char(36) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `ttl` int(11) DEFAULT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `uploads` ( `id` char(36) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `data` longblob, `original_name` varchar(255) DEFAULT NULL, `mime_type` varchar(255) DEFAULT NULL, `size` int(11) DEFAULT NULL, `ttl` int(11) DEFAULT NULL, `state` enum('NEW','UPLOADED') NOT NULL DEFAULT 'NEW', `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, `session_id` char(36) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`id`), KEY `session_id` (`session_id`), CONSTRAINT `uploads_ibfk_1` FOREIGN KEY (`session_id`) REFERENCES `sessions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `downloads` ( `id` char(36) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `state` enum('NEW','DOWNLOADED') NOT NULL DEFAULT 'NEW', `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, `upload_id` char(36) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`id`), KEY `upload_id` (`upload_id`), CONSTRAINT `downloads_ibfk_1` FOREIGN KEY (`upload_id`) REFERENCES `uploads` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;