#!/bin/bash # Mock data script for SearchEngine # Generates test data and imports to MySQL cd "$(dirname "$0")/.." source /home/tw/miniconda3/etc/profile.d/conda.sh conda activate searchengine GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' echo -e "${GREEN}========================================${NC}" echo -e "${GREEN}Mock Data Script${NC}" echo -e "${GREEN}========================================${NC}" # Load config from .env file if it exists if [ -f .env ]; then set -a source .env set +a fi # Parameters TENANT_ID=${1:-"1"} NUM_SPUS=${2:-100} DB_HOST=${DB_HOST:-"120.79.247.228"} DB_PORT=${DB_PORT:-"3316"} DB_DATABASE=${DB_DATABASE:-"saas"} DB_USERNAME=${DB_USERNAME:-"saas"} DB_PASSWORD=${DB_PASSWORD:-"P89cZHS5d7dFyc9R"} SQL_FILE="test_data.sql" echo -e "\n${YELLOW}Configuration:${NC}" echo " Tenant ID: $TENANT_ID" echo " Number of SPUs: $NUM_SPUS" echo " MySQL: $DB_HOST:$DB_PORT/$DB_DATABASE" echo " SQL File: $SQL_FILE" # Step 1: Generate test data echo -e "\n${YELLOW}Step 1/2: 生成测试数据${NC}" python scripts/generate_test_data.py \ --num-spus $NUM_SPUS \ --tenant-id "$TENANT_ID" \ --start-spu-id 1 \ --start-sku-id 1 \ --output "$SQL_FILE" if [ $? -ne 0 ]; then echo -e "${RED}✗ 生成测试数据失败${NC}" exit 1 fi echo -e "${GREEN}✓ 测试数据已生成: $SQL_FILE${NC}" # Step 2: Import test data to MySQL echo -e "\n${YELLOW}Step 2/2: 导入测试数据到MySQL${NC}" if [ -z "$DB_PASSWORD" ]; then echo -e "${RED}ERROR: DB_PASSWORD未设置,请检查.env文件或环境变量${NC}" exit 1 fi python scripts/import_test_data.py \ --db-host "$DB_HOST" \ --db-port "$DB_PORT" \ --db-database "$DB_DATABASE" \ --db-username "$DB_USERNAME" \ --db-password "$DB_PASSWORD" \ --sql-file "$SQL_FILE" \ --tenant-id "$TENANT_ID" if [ $? -ne 0 ]; then echo -e "${RED}✗ 导入测试数据失败${NC}" exit 1 fi echo -e "${GREEN}✓ 测试数据已导入MySQL${NC}" echo -e "\n${GREEN}========================================${NC}" echo -e "${GREEN}Mock数据完成!${NC}" echo -e "${GREEN}========================================${NC}" echo "" echo -e "下一步:" echo -e " ${YELLOW}./scripts/ingest.sh --tenant-id $TENANT_ID${NC} - 从MySQL灌入数据到ES" echo ""