fourside.github.io

JSON から SQL を生成しました

2020/09/28 13:00:00 +00:00

なにをするやつ

  • JSON から INSERT 文や DELETE 文を出力します

なぜ作ったのか

  • 元ネタは過去にやった案件で、簡単に書いたテストのヘルパーの焼き直し
    • テスト用のデータの作成
    • たまたま MySQL だったので、bulk insert の形にしている
    • cliの形式を取ってはいるけど、完全に自分用であまり柔軟には作っていない
  • 難しいことは一切していない
    • 外部参照制約での値の決定とか…
    • DELETE 文も参照関係を考慮していないので、INSERT 文を生成してる順番を逆にしてるだけ
  • TypeScriptファイルにJSON定義しているので、デフォルト値や日時の生成など動的に値を決定できるのが便利ポイント
  • わざわざ書き直したのは、触ったことのないライブラリを使ってみたいというモチベーションもある
    • いずれもちょろっとしか触れてないので、そんなに何か言えることはない…

dayjs

  • 軽量、Dateのprototypeも汚染しない、npm trendsみても結構流行ってる
  • utcが素のままで使えなかったのは少し驚いたけども、デフォルトで入ってるプラグインを通せば大丈夫
  • 型定義も元から入ってるの安心感ある

yargs

  • cli parserのcommanderは以前使ったことがあったので、別のやつ
  • 悪くない、次どっち使うかは迷う

ava

  • 年末のsurveyとかで見かけるテストライブラリ
  • jestだとリッチすぎるかなーというときmochaを選ぶけど、これでもよさそうな感じはする
  • TypeScriptで使うとき 多少の設定 が必要だった

以上です。


fourside

Written by fourside