Files
lisglosips/prisma/migrations/20260621093000_auth_sessions/migration.sql
T

23 lines
1.0 KiB
SQL

-- S09 login authentication session table.
-- Forward-only additive migration: no existing table or column is modified.
CREATE TABLE `user_sessions` (
`id` VARCHAR(40) NOT NULL,
`user_id` VARCHAR(32) NOT NULL,
`refresh_token_hash` CHAR(64) NOT NULL,
`user_agent` VARCHAR(500) NULL,
`ip` VARCHAR(45) NULL,
`expires_at` DATETIME(3) NOT NULL,
`revoked_at` DATETIME(3) NULL,
`rotated_from_id` VARCHAR(40) NULL,
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
UNIQUE INDEX `user_sessions_refresh_token_hash_key` (`refresh_token_hash`),
INDEX `user_sessions_user_id_created_at_idx` (`user_id`, `created_at`),
INDEX `user_sessions_expires_at_idx` (`expires_at`),
INDEX `user_sessions_revoked_at_idx` (`revoked_at`),
CONSTRAINT `user_sessions_user_id_fkey` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;