Skip to content

Latest commit

 

History

History
36 lines (24 loc) · 1.71 KB

README.md

File metadata and controls

36 lines (24 loc) · 1.71 KB

sos21-database

docs (develop) docs

データベースとのインターフェースを提供します。

SQL を叩く関数群とデータモデルを実装しています。 command モジュールはデータを変更する操作、query モジュールはデータを変更しない操作を含んでいます。

マイグレーション

nix-shell 内で次のコマンドを実行し、マイグレーションを適用します。

$ cd sos21-database
$ sqlx migrate run

SQL のコンパイル時検証について

sqlx クレートを用いて、 記述した SQL がある程度妥当なものであることをコンパイル時に検証しています。

DATABASE_URL 環境変数が設定されている場合は実際にデータベースに問い合わせることで検証を行い、 そうでない場合は sqlx-data.json に保存されている情報に基づいて検証を行います。

そのため、CI でビルドするためには sqlx-data.json を最新の状態に保つ必要があります。 nix-shell 内で次のコマンドを実行することで sqlx-data.json を更新することができます。

$ cd sos21-database
$ cargo sqlx prepare

詳しくは Enable building in "offline" mode with query!() を参照してください。