feat(db): add migrations for RBAC, diagnostic, messaging, attendance, leave, invitation codes

- 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
This commit is contained in:
SpecialX
2026-07-03 10:23:24 +08:00
parent 48829bd02b
commit 365c36d97b
13 changed files with 308 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
-- 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`);