当前位置: 代码迷 >> 综合 >> shell加载项目数据到mysql数据库脚本记录
  详细解决方案

shell加载项目数据到mysql数据库脚本记录

热度:82   发布时间:2024-02-28 06:54:48.0

#!/bin/bash

org_id=$1
match_id=$2
database=$3
#fileid=$4

#上传参数判断
if [ $# != 3 ]
then
    echo "参数输入有误,请重新输入参数===>>【1】:org_id  【2】:match_id  【3】:databases (1--线上、0--测试)"
    exit 1
else
    echo "上传参数值   org_id:$org_id   match_id:$match_id    database:$database" 

fi

#数据库设置
if [ $database == 1 ]
then
    db="dsdb"
    echo "本次运行连接数据库为【线上】数据库:$db"
elif [ $database == 0 ]
then
    db="testdsdb"
    echo "本次运行连接数据库为【测试】数据库:$db"
else
    echo "数据库输入错误!请重新输入对应参数!"
    exit 1
fi

#project_id
#project_id="${projectid}0"

#file_id
#file_id="${fileid}0"

source ./mysql_info
#数据库连接
#$MYSQL $db -u $user -h $host -p$pd


#获取最后的project_id
project_id_max="SELECT MAX(project_id) FROM t_project"


file_id_max="SELECT MAX(file_id) FROM t_file"

#获取直播间内项目id
project_id=$($MYSQL $db -u $user -h $host -p$pd -Bse "$project_id_max")

#获取最后的文件id
file_id=$($MYSQL $db -u $user -h $host -p$pd -Bse "$file_id_max")

file_name_logo="5ACB4F06-D7DE-4760-B3E0-A2F4D1A0F592.jpg"
file_pathurl_logo="ds/upload_file/20200810/5ACB4F06-D7DE-4760-B3E0-A2F4D1A0F592.jpg"
origin_filename_logo="3.jpg"
file_path="ds/upload_file/20200605/"

#循环读取数据
for i in `cat /opt/soft/userdata/project_info`
do
    project_id=$[$project_id+1]
           echo "user_info行数据:$i"
    #获取属性值
    creator_userid=`echo $i | awk -F ',' '{print $1}'`
    guideteacher_userid=`echo $i | awk -F ',' '{print $2}'`
    main_trackId=`echo $i | awk -F ',' '{print $3}'`
    lowlevel_trackId=`echo $i | awk -F ',' '{print $4}'`
    project_name=`echo $i | awk -F ',' '{print $7}'`
    file_name=`echo $i | awk -F ',' '{print $5}'`
    origin_filename=`echo $i | awk -F ',' '{print $6}'`
    project_instro=`echo $i | awk -F ',' '{print $8}'`

    
    
    ower_instro="user_id:$creator_userid 的项目"    
    
    file_pathurl="$file_path$file_name"
    #插入数据
    t_project="insert into t_project (project_id, project_name, org_id, project_instro, project_desc, project_type, creator_userid, create_time, refer_state, current_state, \
        status, update_time, guideteacher_userid, national_achievement, school_achievement, leader_isower, teacherandstudent_isower, ower_instro) \
        values($project_id,'$project_name',$org_id,'$project_instro',NULL,'1',$creator_userid,now(),1,20,1,NULL,$guideteacher_userid,0,0,0,0,'$ower_instro');"
    t_project_enrollmatch="insert into t_project_enrollmatch (project_id, main_trackId, lowlevel_trackId, match_id, org_id, enroll_time, auditing_status, auditing_comment, rise_state, refer_state) \
        values($project_id,$main_trackId,$lowlevel_trackId,$match_id,$org_id,NOW(),4,NULL,0,1);"

    #项目负责人添加
    t_project_member="insert into t_project_member (project_id, user_id, user_type, create_time, status, member_instro) values($project_id,$creator_userid,20,now(),1,NULL);"

    #指导老师添加
    t_project_member_teacher="insert into t_project_member (project_id, user_id, user_type, create_time, status, member_instro) values($project_id,$guideteacher_userid,21,now(),1,NULL);"

    #logo添加
    #t_file_logo="insert into t_file (file_id, file_name, file_type, file_pathurl, file_size, play_timelength, upload_userid, create_time, status, origin_filename, origin_type) \
    #    values($file_id,'$file_name','jpg','$file_pathurl',0,0,'$upload_userid',now(),1,'$origin_filename','001');"

        #项目说明书添加
    #t_file_logo="insert into t_file (file_id, file_name, file_type, file_pathurl, file_size, play_timelength, upload_userid, create_time, status, origin_filename, origin_type) \
    #    values($file_id,'$file_name','jpg','$file_pathurl',0,0,'$upload_userid',now(),1,'$origin_filename','002');"


    $MYSQL $db -u $user -h $host -p$pd<< EOF
    $t_project
    $t_project_enrollmatch
    $t_project_member
    $t_project_member_teacher
EOF

    if [ $? -eq 0 ] 
    then
        echo ${project_id}  ${project_name} Data successfully added
    else
        echo ${project_id}  ${project_name} Problem adding data 
    fi


    for x in {'jpg','docx'}
    do

        file_id=$[$file_id+1]
        upload_userid=$creator_userid

        if [ $x == 'jpg' ]
        then
            t_file="insert into t_file (file_id, file_name, file_type, file_pathurl, file_size, play_timelength, upload_userid, create_time, status, origin_filename, origin_type) \
                values($file_id,'$file_name_logo','jpg','$file_pathurl_logo',0,0,'$upload_userid',now(),1,'$origin_filename_logo','001');"
            t_project_file="insert into t_project_file (project_id, file_id, create_time, status) values($project_id,$file_id,now(),1);"
        else
            t_file="insert into t_file (file_id, file_name, file_type, file_pathurl, file_size, play_timelength, upload_userid, create_time, status, origin_filename, origin_type) \
                values($file_id,'$file_name','docx','$file_pathurl',0,0,'$upload_userid',now(),1,'$origin_filename','002');"
            t_project_file="insert into t_project_file (project_id, file_id, create_time, status) values($project_id,$file_id,now(),1);"
        fi

        $MYSQL $db -u $user -h $host -p$pd<< EOF
        $t_file
        $t_project_file
EOF
        if [ $? -eq 1 ]
        then
            echo "数据插入异常,shell运行结束"
            exit 1
        else
            echo "文件添加成功!"

        fi


    done
        


    echo 'project_id:'$project_id
    echo 'project_name:'$project_name
    #echo 'password:'$password
    #echo 'user_type:'$user_type
 

  相关解决方案