2019年7月15日月曜日

テスト用DBを一発で初期化するbash

自分の忘備録

開発しているときは、テスト用DBを繰返し初期化する。
そのシェル。でも、僕以外にはほとんど利用価値はないかも、、、
ポイントは、DBにインポートするデータを集めたdirectoryを指定し
その中から、ファイル名だけを抽出してDB登録するシェルに渡す処理かも

自分用だから、説明はなし。

Peace!!

#!/bin/bash

# テスト用データのディレクトリー
files="../../data/*"
fileary=()
dirary=()

DB=DB名称
USER=ユーザ名
PW=パスワード

# DBのデータを削除して初期化する
mysql -u$USER $DB -p$PW << EOS
truncate hd;
truncate seibans;
update counters set value=0 where name='seibans';
EOS


for filepath in $files; do
    if [ -f $filepath ] ; then
        fileary+=("$filepath")
    elif [ -d $filepath ] ; then
        dirary+=("$filepath")
    fi
done

#echo "ファイル一覧"
for i in ${fileary[@]}; do
    qq=$i
    # pathを削除
    qqq="${qq##*/}"
    # ファイル名の拡張子を取る
    FILE=${qqq%.*}
    # テストデータDB登録
    ./reg.sh $FILE
done

#echo "ディレクトリ一覧"
#for i in ${dirary[@]}; do
#    echo $i
#done

0 件のコメント:

コメントを投稿