#!/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 "现在可以使用医生管理功能了!"