以前、Deno で DB マイグレーション を試す という記事を書きました。
この時は、nessie を使ってマイグレーションを試しました。
試したものの書き忘れていた不満が有って、それは DB の create と drop ができないこと。
なので、対応してみました。
参考
実装
nessie には、CREATE DATABASE する機能が無いので、ローカルにインストール済みの mysql クライアントを使用して SQL を直接実行していきます。
そのための shell ツールとして、dzxを今回は採用します。
CREATE DATABASE スクリプト
1 | import { config } from "./config.ts"; //設定周りは、config.tsを介して提供される想定、場合によっては環境変数の読み込みを直接書くこともあるだろう |
DROP DATABASE スクリプト
1 | import { config } from "./config.ts"; |
deno task 準備
オプションの設定もあり、nessie 関連の長いコマンドも併せて、deno task ですべて管理するようにしました。
1 | { |
実行
1 | $ deno task db:create |
Deno.run
を直接使えば、dzx を使う必要も無かったがオプションの渡し方など見ていると使った方が書きやすかった。
shell ツールの面目躍如を感じた。
ではでは。