sqldef の sqlite3 サポートが薄い話

aliyome
·

RDB の DDL を宣言的に記述して管理し、DDL を変更するとその差分の ALTER 文などを発行してくれる sqldef というとても便利な OSS がある。

sqldef には DBMS ごとに mysqldef, psqldef, sqlite3def のようにツールが分かれている。自分は最近 sqlite3 を使って個人開発することが多いため、 sqlite3def を試している。 すると foreign key が使えないことがわかった。issue も立っている。

foreign key はオプトインの機能だから対応していないとのこと…残念。

諦めきれなかったので自分でパッチを当てようと思ってパーサーの実装を調べたら yacc というパーサジェネレータを使っているようだ。

込み入っていて正直良くわからない…。まずは全体をざっくり俯瞰しようと思って visualizer を調べたが良いものが見つからなかった。パーサの実装をちゃんと追えば良いんだろうけどしんどい。どうしようかなぁ。