Files
ivan-pelly b6b058f05e Latest
2026-02-27 18:29:11 -08:00

24 lines
1.2 KiB
SQL

CREATE TABLE `refresh_token` (
`id_refresh_token` char(36) NOT NULL,
`id_user` char(36) NOT NULL,
`id_program` char(36) DEFAULT NULL,
`token_hash` varchar(512) NOT NULL,
`token_salt` varchar(512) NOT NULL,
`expires_at` timestamp NOT NULL,
`last_used_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`revoked_at` timestamp NULL DEFAULT NULL,
`device_info` varchar(255) DEFAULT NULL,
`user_agent` varchar(512) DEFAULT NULL,
`replaced_by_token_id` char(36) DEFAULT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id_refresh_token`),
KEY `idx_refresh_token_user` (`id_user`),
KEY `idx_refresh_token_expires` (`expires_at`),
KEY `refresh_token_ibfk_2` (`replaced_by_token_id`),
KEY `fk_refresh_token_program` (`id_program`),
CONSTRAINT `fk_refresh_token_program` FOREIGN KEY (`id_program`) REFERENCES `program` (`id_program`),
CONSTRAINT `refresh_token_ibfk_1` FOREIGN KEY (`id_user`) REFERENCES `user` (`id_user`),
CONSTRAINT `refresh_token_ibfk_2` FOREIGN KEY (`replaced_by_token_id`) REFERENCES `refresh_token` (`id_refresh_token`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;