Files
zyt/install_doctor_fields.sh
T
2026-03-05 11:19:36 +08:00

101 lines
2.6 KiB
Bash

#!/bin/bash
# 医生字段安装脚本
# 用法: ./install_doctor_fields.sh
echo "=========================================="
echo "医生字段安装脚本"
echo "=========================================="
echo ""
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 数据库配置
DB_HOST="localhost"
DB_PORT="3306"
DB_NAME="zyt"
DB_USER="root"
# 提示输入数据库密码
echo -e "${YELLOW}请输入数据库密码:${NC}"
read -s DB_PASS
echo ""
# 检查MySQL是否可用
echo "检查MySQL连接..."
mysql -h"$DB_HOST" -P"$DB_PORT" -u"$DB_USER" -p"$DB_PASS" -e "SELECT 1;" > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo -e "${RED}错误: 无法连接到MySQL数据库${NC}"
echo "请检查数据库配置和密码是否正确"
exit 1
fi
echo -e "${GREEN}✓ 数据库连接成功${NC}"
echo ""
# 备份数据库
BACKUP_FILE="zyt_backup_$(date +%Y%m%d_%H%M%S).sql"
echo "正在备份数据库到: $BACKUP_FILE"
mysqldump -h"$DB_HOST" -P"$DB_PORT" -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUP_FILE" 2>/dev/null
if [ $? -eq 0 ]; then
echo -e "${GREEN}✓ 数据库备份成功${NC}"
else
echo -e "${RED}✗ 数据库备份失败${NC}"
echo "是否继续安装? (y/n)"
read -r response
if [[ ! "$response" =~ ^[Yy]$ ]]; then
exit 1
fi
fi
echo ""
# 执行迁移脚本
echo "正在执行数据库迁移..."
mysql -h"$DB_HOST" -P"$DB_PORT" -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" < server/database/migrations/add_doctor_fields_to_admin.sql 2>&1
if [ $? -eq 0 ]; then
echo -e "${GREEN}✓ 数据库迁移成功${NC}"
else
echo -e "${RED}✗ 数据库迁移失败${NC}"
echo "请检查错误信息,可能字段已经存在"
exit 1
fi
echo ""
# 验证安装
echo "验证字段是否添加成功..."
RESULT=$(mysql -h"$DB_HOST" -P"$DB_PORT" -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" -e "SHOW COLUMNS FROM zyt_admin LIKE 'gender';" 2>/dev/null | grep -c "gender")
if [ "$RESULT" -eq 1 ]; then
echo -e "${GREEN}✓ 字段验证成功${NC}"
else
echo -e "${RED}✗ 字段验证失败${NC}"
exit 1
fi
echo ""
echo "=========================================="
echo -e "${GREEN}安装完成!${NC}"
echo "=========================================="
echo ""
echo "新增字段列表:"
echo " - gender (性别)"
echo " - age (年龄)"
echo " - phone (手机号)"
echo " - title (职称)"
echo " - department (所属科室)"
echo " - specialty (擅长领域)"
echo " - education (教育背景)"
echo " - experience (工作经历)"
echo " - honors (荣誉资质)"
echo ""
echo "备份文件: $BACKUP_FILE"
echo ""
echo "现在可以使用医生管理功能了!"