yamori

有給休暇計算を主目的とした簡易勤怠管理システム

backend: SQLite3 での Event Sourcing スキーマ SQL 文の正常性確認は実際に行いそうなクエリや INSERT を書いたものを `001_test.sql` と保存した上で、 ``` $ cat migrations/*.sql | sqlite3 -table ``` を実行した。 本来であればマイグレーションの実行までを一纏めにしたかったが、 ここに来て Zig の protobuf である Gremlin のコード生成が全然ダメ なことが発覚。特に `oneof` を普通のメッセージと同様に出力するため 利用側でどのフィールドが判別できない ("_" でプリフィクスされてる フィールドが `null` かどうかを見ればわかるが、非公開だしハック) ので実用に耐えないことが分かった。他の Protobuf コード生成ツールは Protobuf3 しか対応しておらず、 edition 向けのちゃんとしたツールを 書くしかない。しかし工数的に、というかペース的にそんな余裕がないので Go (WASM 出力できれば) か Rust (Go がウンコだったら) での書き換えを する予定。そうなると更に低レベルな内容のコミットとなるため、別の コミットにすることとした。 要約すると、大量の環境整備が入るけどこの SQL 捨てるの勿体ないから コミットしたよ。

Changes

1 changed files (+26/-0)