- 0011: RBAC role flags and seed data - 0012: diagnostic grade_id - 0013: message recall - 0014: message templates - 0015: group messages and message reports/blocks - 0016: invitation codes - 0017: draft device sync - 0018: attendance status reason - 0019: attendance warning thresholds - 0020: leave requests - 0021: attendance period
20 lines
772 B
SQL
20 lines
772 B
SQL
-- audit-P2-3: 注册邀请码表(admin 批量生成,注册时校验 + 自动分配角色/班级)
|
||
CREATE TABLE IF NOT EXISTS `invitation_codes` (
|
||
`id` serial PRIMARY KEY,
|
||
`code` varchar(64) NOT NULL,
|
||
`email` varchar(255),
|
||
`role` varchar(50) NOT NULL,
|
||
`class_id` varchar(128),
|
||
`notes` varchar(500),
|
||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
`created_by` varchar(128),
|
||
`expires_at` timestamp NULL,
|
||
`used_by` varchar(128),
|
||
`used_at` timestamp NULL,
|
||
UNIQUE KEY `invitation_codes_code_unique` (`code`)
|
||
);
|
||
|
||
CREATE INDEX `invitation_codes_code_idx` ON `invitation_codes`(`code`);
|
||
CREATE INDEX `invitation_codes_email_idx` ON `invitation_codes`(`email`);
|
||
CREATE INDEX `invitation_codes_used_by_idx` ON `invitation_codes`(`used_by`);
|