Initial commit of akmon project

This commit is contained in:
2026-01-20 08:04:15 +08:00
commit 77a2bab985
1309 changed files with 343305 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
-- 创建互动记录表
-- 如果表已存在则先删除
DROP TABLE IF EXISTS public.ak_interactions CASCADE;
-- 互动记录表
CREATE TABLE public.ak_interactions (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(), -- 互动ID
user_id uuid REFERENCES public.ak_users(id) ON DELETE CASCADE, -- 用户ID (发起互动的用户)
target_type VARCHAR(32) NOT NULL, -- 目标类型training_record, assignment_submission, teaching_resource等
target_id uuid NOT NULL, -- 目标ID (被互动的对象ID)
interaction_type VARCHAR(32) NOT NULL, -- 互动类型comment(评论), like(点赞), share(分享)等
content TEXT, -- 互动内容 (如评论内容,点赞时可为空)
created_at TIMESTAMP WITH TIME ZONE DEFAULT now(), -- 创建时间
updated_at TIMESTAMP WITH TIME ZONE DEFAULT now() -- 更新时间
);
-- 添加表注释
COMMENT ON TABLE public.ak_interactions IS '互动记录表';
COMMENT ON COLUMN public.ak_interactions.target_type IS '目标类型training_record(训练记录), assignment_submission(作业提交), teaching_resource(教学资源)等';
COMMENT ON COLUMN public.ak_interactions.interaction_type IS '互动类型comment(评论), like(点赞), share(分享)等';
-- 创建索引
CREATE INDEX idx_interactions_user_id ON public.ak_interactions(user_id);
CREATE INDEX idx_interactions_target ON public.ak_interactions(target_type, target_id);
CREATE INDEX idx_interactions_type ON public.ak_interactions(interaction_type);
-- 验证表是否创建成功
SELECT 'ak_interactions table created successfully' as result;