All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 13s
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
63 lines
2.3 KiB
SQL
63 lines
2.3 KiB
SQL
-- CreateTable
|
|
CREATE TABLE `AdminUser` (
|
|
`id` VARCHAR(191) NOT NULL,
|
|
`email` VARCHAR(255) NOT NULL,
|
|
`passwordHash` VARCHAR(255) NOT NULL,
|
|
`displayName` VARCHAR(100) NOT NULL,
|
|
`role` VARCHAR(32) NOT NULL DEFAULT 'ADMIN',
|
|
`status` VARCHAR(32) NOT NULL DEFAULT 'ACTIVE',
|
|
`twoFactorEnabled` BOOLEAN NOT NULL DEFAULT false,
|
|
`twoFactorSecret` VARCHAR(100) NULL,
|
|
`lastLoginAt` DATETIME(3) NULL,
|
|
`lastLoginIp` VARCHAR(45) NULL,
|
|
`failedLoginCount` INTEGER NOT NULL DEFAULT 0,
|
|
`lockedUntil` DATETIME(3) NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`updatedAt` DATETIME(3) NOT NULL,
|
|
`deletedAt` DATETIME(3) NULL,
|
|
|
|
UNIQUE INDEX `AdminUser_email_key`(`email`),
|
|
INDEX `AdminUser_email_idx`(`email`),
|
|
INDEX `AdminUser_status_idx`(`status`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `AdminSession` (
|
|
`id` VARCHAR(191) NOT NULL,
|
|
`adminUserId` VARCHAR(191) NOT NULL,
|
|
`refreshTokenHash` VARCHAR(255) NOT NULL,
|
|
`ip` VARCHAR(45) NULL,
|
|
`userAgent` VARCHAR(500) NULL,
|
|
`expiresAt` DATETIME(3) NOT NULL,
|
|
`revokedAt` DATETIME(3) NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`updatedAt` DATETIME(3) NOT NULL,
|
|
|
|
INDEX `AdminSession_adminUserId_idx`(`adminUserId`),
|
|
INDEX `AdminSession_refreshTokenHash_idx`(`refreshTokenHash`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `AdminAuditLog` (
|
|
`id` VARCHAR(191) NOT NULL,
|
|
`adminUserId` VARCHAR(191) NOT NULL,
|
|
`action` VARCHAR(64) NOT NULL,
|
|
`resourceType` VARCHAR(64) NULL,
|
|
`resourceId` VARCHAR(255) NULL,
|
|
`beforeJson` JSON NULL,
|
|
`afterJson` JSON NULL,
|
|
`ip` VARCHAR(45) NULL,
|
|
`userAgent` VARCHAR(500) NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
INDEX `AdminAuditLog_adminUserId_idx`(`adminUserId`),
|
|
INDEX `AdminAuditLog_action_idx`(`action`),
|
|
INDEX `AdminAuditLog_createdAt_idx`(`createdAt`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `AdminSession` ADD CONSTRAINT `AdminSession_adminUserId_fkey` FOREIGN KEY (`adminUserId`) REFERENCES `AdminUser`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|