insecure-bank/db-init.sql

34 lines
1.3 KiB
SQL

CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`password` varchar(255) NOT NULL,
`admin` bit(1) NOT NULL DEFAULT b'0',
`balance` bigint(20) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
CREATE TABLE `session` (
`token` binary(32) NOT NULL,
`user` int(10) unsigned NOT NULL,
KEY `user` (`user`),
CONSTRAINT `session_ibfk_1` FOREIGN KEY (`user`) REFERENCES `user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
CREATE TABLE `booking` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`affected` int(10) unsigned NOT NULL,
`time` bigint(20) NOT NULL,
`type` tinyint(1) unsigned NOT NULL,
`amount` bigint(20) NOT NULL,
`related` int(10) unsigned DEFAULT NULL,
`comment` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `affected` (`affected`),
KEY `related` (`related`),
CONSTRAINT `booking_ibfk_1` FOREIGN KEY (`affected`) REFERENCES `user` (`id`) ON DELETE CASCADE,
CONSTRAINT `booking_ibfk_2` FOREIGN KEY (`related`) REFERENCES `user` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;