0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

最近こんなことがありました

仕事で数日に一度DBにアクセスして、とあるSQLを流さなければいけない。

ただ、そのまま流せばいいというわけではなく一部を書き換えなければいけない。

どこを書き換えるかは決まっているがその都度生成されるuuidに書き換えるので、具体的に何に書き換えるのかは決まっていない。

なので、書き換える値をコピーしてローカルに置いてあるSQLを開いて、編集して、DBにアクセスして、流す。

一回ならまだしも定期的にとなると面倒で面倒でならない。

少し楽をしたいなと思いました。

というわけでターミナルでポチっとできるようにしてみました

#!/bin/zsh 

if [[ $1 =~ [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} ]]
then
    QUERY=$(sed -e "s/hogehoge/$1/g" $HOME/query.sql);
    psql "DB名" -c "$QUERY";
    echo 'done'
else
    echo 'uuidが無効です'
fi

こんな感じ

まず引数がuuidの体を成しているか確認して、

QUERYに書き換えたsqlを格納して、

psqlコマンドで実行。

.zshrcに

alias script='~/script.sh'

こんな感じでaliasを作ってどこからでも触れるようにしてひとまず完成。

また面倒になったら改良しようかと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?