40 lines
1.6 KiB
MySQL
40 lines
1.6 KiB
MySQL
|
SET NAMES utf8mb4;
|
||
|
SET foreign_key_checks = 0;
|
||
|
|
||
|
CREATE TABLE `migrations` (
|
||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||
|
`migration` varchar(255) NOT NULL,
|
||
|
`type` enum('structure','data') NOT NULL,
|
||
|
PRIMARY KEY (`id`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||
|
|
||
|
CREATE TABLE `sessions` (
|
||
|
`id` varchar(32) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL,
|
||
|
`data` text NOT NULL,
|
||
|
`updated` timestamp NOT NULL DEFAULT current_timestamp(),
|
||
|
PRIMARY KEY (`id`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||
|
|
||
|
CREATE TABLE `users` (
|
||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||
|
`email` varchar(100) NOT NULL,
|
||
|
`password` varchar(60) DEFAULT NULL,
|
||
|
`type` enum('user','admin') NOT NULL,
|
||
|
`google_sub` varchar(255) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL,
|
||
|
`created` timestamp NOT NULL DEFAULT current_timestamp(),
|
||
|
PRIMARY KEY (`id`),
|
||
|
UNIQUE KEY `email` (`email`),
|
||
|
UNIQUE KEY `google_sub` (`google_sub`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||
|
|
||
|
CREATE TABLE `user_password_resetters` (
|
||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||
|
`user_id` int(10) unsigned NOT NULL,
|
||
|
`token` varchar(32) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL,
|
||
|
`expires` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||
|
PRIMARY KEY (`id`),
|
||
|
KEY `user_id` (`user_id`),
|
||
|
KEY `token` (`token`),
|
||
|
CONSTRAINT `user_password_resetters_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|