103 lines
3.7 KiB
Bash
103 lines
3.7 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
|
|||
|
|
# 关注功能修复脚本
|
|||
|
|
# 用途:创建 eb_follow_record 表并迁移数据
|
|||
|
|
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo "关注功能修复脚本"
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
# 数据库配置
|
|||
|
|
DB_HOST="1.15.149.240"
|
|||
|
|
DB_USER="root"
|
|||
|
|
DB_NAME="crmeb"
|
|||
|
|
|
|||
|
|
echo "请输入MySQL密码:"
|
|||
|
|
read -s DB_PASS
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "正在连接数据库..."
|
|||
|
|
|
|||
|
|
# 执行SQL
|
|||
|
|
mysql -h $DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME << 'EOF'
|
|||
|
|
|
|||
|
|
-- 创建 eb_follow_record 表
|
|||
|
|
CREATE TABLE IF NOT EXISTS `eb_follow_record` (
|
|||
|
|
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|||
|
|
`follower_id` int(11) NOT NULL COMMENT '关注者用户ID',
|
|||
|
|
`follower_nickname` varchar(50) DEFAULT NULL COMMENT '关注者昵称',
|
|||
|
|
`follower_phone` varchar(20) DEFAULT NULL COMMENT '关注者手机号',
|
|||
|
|
`followed_id` int(11) NOT NULL COMMENT '被关注者用户ID',
|
|||
|
|
`followed_nickname` varchar(50) DEFAULT NULL COMMENT '被关注者昵称',
|
|||
|
|
`followed_phone` varchar(20) DEFAULT NULL COMMENT '被关注者手机号',
|
|||
|
|
`follow_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '关注状态:1-已关注 0-已取消',
|
|||
|
|
`is_deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除:0-未删除 1-已删除',
|
|||
|
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|||
|
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|||
|
|
`ext_field1` varchar(100) DEFAULT NULL COMMENT '扩展字段1:关注来源/渠道',
|
|||
|
|
`ext_field2` int(11) DEFAULT NULL COMMENT '扩展字段2:关注类型/优先级',
|
|||
|
|
`ext_field3` varchar(200) DEFAULT NULL COMMENT '扩展字段3:特殊标记/备注',
|
|||
|
|
`ext_field4` bigint(20) DEFAULT NULL COMMENT '扩展字段4:关联数据ID',
|
|||
|
|
`ext_field5` text COMMENT '扩展字段5:JSON扩展数据',
|
|||
|
|
PRIMARY KEY (`id`),
|
|||
|
|
UNIQUE KEY `uk_follower_followed` (`follower_id`,`followed_id`),
|
|||
|
|
KEY `idx_follower_id` (`follower_id`),
|
|||
|
|
KEY `idx_followed_id` (`followed_id`),
|
|||
|
|
KEY `idx_follow_status` (`follow_status`),
|
|||
|
|
KEY `idx_is_deleted` (`is_deleted`),
|
|||
|
|
KEY `idx_create_time` (`create_time`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='关注记录表';
|
|||
|
|
|
|||
|
|
SELECT '✓ eb_follow_record 表创建成功' as status;
|
|||
|
|
|
|||
|
|
-- 迁移数据
|
|||
|
|
INSERT IGNORE INTO eb_follow_record (follower_id, follower_nickname, follower_phone, followed_id, followed_nickname, followed_phone, follow_status, is_deleted, create_time)
|
|||
|
|
SELECT
|
|||
|
|
uf.user_id as follower_id,
|
|||
|
|
u1.nickname as follower_nickname,
|
|||
|
|
u1.phone as follower_phone,
|
|||
|
|
uf.follow_user_id as followed_id,
|
|||
|
|
u2.nickname as followed_nickname,
|
|||
|
|
u2.phone as followed_phone,
|
|||
|
|
1 as follow_status,
|
|||
|
|
0 as is_deleted,
|
|||
|
|
uf.create_time
|
|||
|
|
FROM eb_user_follow uf
|
|||
|
|
LEFT JOIN eb_user u1 ON uf.user_id = u1.uid
|
|||
|
|
LEFT JOIN eb_user u2 ON uf.follow_user_id = u2.uid
|
|||
|
|
WHERE EXISTS (SELECT 1 FROM eb_user_follow LIMIT 1);
|
|||
|
|
|
|||
|
|
SELECT '✓ 数据迁移完成' as status;
|
|||
|
|
|
|||
|
|
-- 显示统计信息
|
|||
|
|
SELECT
|
|||
|
|
'eb_user_follow (原表)' as table_name,
|
|||
|
|
COUNT(*) as record_count
|
|||
|
|
FROM eb_user_follow
|
|||
|
|
UNION ALL
|
|||
|
|
SELECT
|
|||
|
|
'eb_follow_record (新表)' as table_name,
|
|||
|
|
COUNT(*) as record_count
|
|||
|
|
FROM eb_follow_record;
|
|||
|
|
|
|||
|
|
EOF
|
|||
|
|
|
|||
|
|
if [ $? -eq 0 ]; then
|
|||
|
|
echo ""
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo "✓ 数据库修复完成!"
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo ""
|
|||
|
|
echo "下一步:"
|
|||
|
|
echo "1. 重启后端服务: cd /root/zhibo/Zhibo/zhibo-h && ./restart.sh"
|
|||
|
|
echo "2. 重新编译Android应用"
|
|||
|
|
echo "3. 测试关注功能"
|
|||
|
|
else
|
|||
|
|
echo ""
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo "✗ 执行失败,请检查错误信息"
|
|||
|
|
echo "=========================================="
|
|||
|
|
exit 1
|
|||
|
|
fi
|