create.sql
-- @query(user)
CREATE TABLE IF NOT EXISTS `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`is_active` tinyint(1) DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE(`email`)
) ;
-- @query(code)
CREATE TABLE IF NOT EXISTS `code` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL,
`type` varchar(30),
`code` varchar(255) NOT NULL,
`is_active` tinyint(1) NOT NULL DEFAULT '0',
`activated_at` datetime NULL DEFAULT NULL,
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`expires_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ;
-- @query(permissions)
CREATE TABLE IF NOT EXISTS `permissions` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL,
`action` varchar(255) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
INDEX(`action`)
) ;
-- @query(user_role)
CREATE TABLE IF NOT EXISTS `user_role` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL,
`role` varchar(255) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
INDEX(`role`)
) ;
-- @query(role_permission)
CREATE TABLE IF NOT EXISTS `role_permission` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`role` varchar(255) NOT NULL,
`action` varchar(255) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
INDEX(`role`),
INDEX(`action`)
) ;
-- @query(throttle)
CREATE TABLE IF NOT EXISTS `throttle` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`key` varchar(255) NOT NULL,
`actor` varchar(255) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`expires_at` timestamp(6) NOT NULL,
PRIMARY KEY (`id`)
) ;
-- @query(security_log)
CREATE TABLE IF NOT EXISTS `security_log` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(255) NOT NULL,
`action` varchar(255) NOT NULL,
`ip` varchar(255) NOT NULL,
`user_agent` varchar(500) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY(`id`)
);