added fake data

This commit is contained in:
2025-03-12 16:58:53 +08:00
parent 9d7d1abb49
commit 1a100ae4ce
2 changed files with 901 additions and 0 deletions

View File

@@ -0,0 +1,273 @@
-- 创建测试项目数据
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;