devperf/backend/drizzle/0001_add_user_project_permissions.sql
zyc 4283824533
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m37s
feat(权限): 观察者角色支持项目级查看权限
- 新增 user_project_permissions 表,管理观察者可查看的项目
- 管理员可在用户管理页面为观察者分配项目权限
- 所有数据接口(总览、项目、OKR、Git活动)按分配的项目过滤
- 未分配项目的观察者看到空数据
- 同步日志按时间倒序排列

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 10:33:11 +08:00

15 lines
714 B
SQL

CREATE TABLE IF NOT EXISTS `user_project_permissions` (
`id` varchar(50) NOT NULL PRIMARY KEY,
`user_id` varchar(50) NOT NULL,
`project_id` varchar(50) NOT NULL,
`created_at` datetime NOT NULL,
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE
);
--> statement-breakpoint
CREATE INDEX `idx_upp_user` ON `user_project_permissions` (`user_id`);
--> statement-breakpoint
CREATE INDEX `idx_upp_project` ON `user_project_permissions` (`project_id`);
--> statement-breakpoint
CREATE UNIQUE INDEX `uniq_upp_user_project` ON `user_project_permissions` (`user_id`, `project_id`);