-- 创建测试项目数据 INSERT INTO public .projects ( id, name, description, created_by, created_at, updated_at ) VALUES ( '37954d21-57b3-4e25-a614-001eaa9033b8', -- 固定UUID,便于引用 '默认测试项目', '这是一个用于测试的默认项目', ( SELECT id FROM auth.users LIMIT 1 ), -- 获取第一个用户作为创建者 CURRENT_TIMESTAMP, CURRENT_TIMESTAMP ) ON CONFLICT (id) DO NOTHING; -- 如果已存在则不操作 -- 创建测试网红数据,使用允许的platform值 INSERT INTO public .influencers ( influencer_id, name, platform, -- 必须是: 'youtube', 'instagram', 'tiktok', 'twitter', 'facebook' profile_url, external_id, followers_count, video_count, platform_count, created_at, updated_at ) VALUES ( gen_random_uuid(), '李小美', 'instagram', 'https://instagram.com/lixiaomei', 'insta_lixiaomei_' || floor(random() * 1000) :: text, 250000, 87, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP ), ( gen_random_uuid(), '张时尚', 'tiktok', 'https://tiktok.com/zhangss', 'tt_zhangss_' || floor(random() * 1000) :: text, 180000, 65, 2, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP ), ( gen_random_uuid(), '王潮流', 'youtube', 'https://youtube.com/wangcl', 'yt_wangcl_' || floor(random() * 1000) :: text, 320000, 112, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP ), ( gen_random_uuid(), '赵科技', 'facebook', 'https://facebook.com/zhaokj', 'fb_zhaokj_' || floor(random() * 1000) :: text, 150000, 45, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP ), ( gen_random_uuid(), '钱生活', 'twitter', 'https://twitter.com/qiansh', 'tw_qiansh_' || floor(random() * 1000) :: text, 200000, 78, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP ); -- 将这些网红与项目关联起来 INSERT INTO public .project_influencers (project_id, influencer_id) SELECT '37954d21-57b3-4e25-a614-001eaa9033b8', influencer_id FROM public .influencers WHERE name IN ('李小美', '张时尚', '王潮流') AND NOT EXISTS ( SELECT 1 FROM public .project_influencers WHERE project_id = '37954d21-57b3-4e25-a614-001eaa9033b8' AND influencer_id = influencers.influencer_id ); -- 为每个网红创建帖子 INSERT INTO public .posts ( post_id, influencer_id, platform, post_url, title, description, published_at, created_at, updated_at, project_id ) SELECT gen_random_uuid(), i.influencer_id, i.platform, 'https://' || i.platform || '.com/post/' || replace(md5(random() :: text), '-', ''), CASE WHEN i.name = '李小美' THEN '2024春季必买单品推荐' WHEN i.name = '张时尚' THEN '我的日常护肤分享' WHEN i.name = '王潮流' THEN '三分钟学会这个流行妆容' WHEN i.name = '赵科技' THEN '最新科技产品评测' ELSE '生活方式指南' END, CASE WHEN i.name = '李小美' THEN '春季来了,分享我的必买清单,这些单品绝对让你眼前一亮!#春季购物 #时尚单品' WHEN i.name = '张时尚' THEN '很多人问我怎么保养皮肤,今天我终于来分享我的护肤秘籍啦!#护肤 #美妆' WHEN i.name = '王潮流' THEN '手残党也能学会的简单妆容,跟着我一起来化个春季流行妆吧!#化妆教程 #美妆博主' WHEN i.name = '赵科技' THEN '最新旗舰手机深度评测,看完再决定是否入手!#科技测评 #数码' ELSE '如何让你的生活更有品质,这些小技巧不容错过!#生活方式 #品质生活' END, CURRENT_TIMESTAMP - (floor(random() * 30) || ' days') :: interval, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '37954d21-57b3-4e25-a614-001eaa9033b8' FROM public .influencers i WHERE i.name IN ('李小美', '张时尚', '王潮流', '赵科技', '钱生活'); -- 额外再创建一些帖子 INSERT INTO public .posts ( post_id, influencer_id, platform, post_url, title, description, published_at, created_at, updated_at, project_id ) SELECT gen_random_uuid(), i.influencer_id, i.platform, 'https://' || i.platform || '.com/post/' || replace(md5(random() :: text), '-', ''), CASE WHEN i.name = '李小美' THEN '新品开箱:限定联名系列' WHEN i.name = '张时尚' THEN '如何打造高级感穿搭' WHEN i.name = '王潮流' THEN '测评:这款产品值不值得买?' ELSE '社交媒体拍照技巧大揭秘' END, CASE WHEN i.name = '李小美' THEN '期待已久的联名系列终于到手了!开箱分享第一时间的感受和细节展示。#开箱 #限定联名' WHEN i.name = '张时尚' THEN '不需要花大价钱也能穿出高级感,这些单品搭配技巧请收好!#穿搭技巧 #时尚博主' WHEN i.name = '王潮流' THEN '近期超火的这款产品到底值不值得买?我用了两周后来告诉你真实感受。#产品测评 #种草拔草' ELSE '原来专业博主都是这样拍照的!学会这些技巧,让你的照片瞬间提升档次!#拍照技巧 #摄影教程' END, CURRENT_TIMESTAMP - (floor(random() * 15) || ' days') :: interval, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '37954d21-57b3-4e25-a614-001eaa9033b8' FROM public .influencers i WHERE i.name IN ('李小美', '张时尚', '王潮流', '赵科技') LIMIT 4; -- 为帖子添加评论 INSERT INTO public .comments ( comment_id, post_id, content, sentiment_score, created_at, updated_at ) SELECT gen_random_uuid(), p.post_id, CASE WHEN p.title LIKE '%春季%' THEN '太喜欢这些推荐了,已经下单第一个了!' WHEN p.title LIKE '%护肤%' THEN '你的皮肤真的太好了,请问精华液用的什么牌子?' WHEN p.title LIKE '%妆容%' THEN '学会了学会了,没想到这么简单就能化出这么好看的妆!' WHEN p.title LIKE '%开箱%' THEN '包装也太精美了吧!羡慕了' WHEN p.title LIKE '%穿搭%' THEN '这套搭配真的很适合日常,学到了' ELSE '内容很棒,继续加油!' END, 0.8, -- 正面情绪评分 CURRENT_TIMESTAMP - (floor(random() * 10) || ' days') :: interval, CURRENT_TIMESTAMP - (floor(random() * 10) || ' days') :: interval FROM public .posts p WHERE p.project_id = '37954d21-57b3-4e25-a614-001eaa9033b8' ORDER BY random() LIMIT 10; -- 再增加一些带有不同情绪的评论 INSERT INTO public .comments ( comment_id, post_id, content, sentiment_score, created_at, updated_at ) SELECT gen_random_uuid(), p.post_id, CASE WHEN floor(random() * 3) = 0 THEN '这个内容一般,期待更好的分享' WHEN floor(random() * 3) = 1 THEN '不太理解这个内容的目的是什么' ELSE '价格有点贵,但看起来质量不错' END, 0.3, -- 略微负面情绪评分 CURRENT_TIMESTAMP - (floor(random() * 5) || ' days') :: interval, CURRENT_TIMESTAMP - (floor(random() * 5) || ' days') :: interval FROM public .posts p WHERE p.project_id = '37954d21-57b3-4e25-a614-001eaa9033b8' ORDER BY random() LIMIT 5;