#!/usr/bin/env just --justfile database_dir := justfile_directory() + "/../../database" database_file := "ezidam.sqlite" database_path := database_dir / database_file database_url := "sqlite://" + absolute_path(database_path) sqlx_database := "--database-url " + database_url cargo := "cargo" # list recipes default: just --list # prepare sql queries for offline usage offline: {{cargo}} sqlx prepare {{sqlx_database}} # verify offline data is up to date offline_check: {{cargo}} sqlx prepare --check {{sqlx_database}} # run pending migrations run: sqlx migrate run {{sqlx_database}} # add new migration new name: sqlx migrate add -r {{name}} # revert latest migration revert_last: sqlx migrate revert {{sqlx_database}} # create database create: mkdir -p {{database_dir}} sqlx database create {{sqlx_database}} # reset database and apply migrations reset: mkdir -p {{database_dir}} sqlx database reset {{sqlx_database}} # create a build script to trigger recompilation when a new migration is added build_script: sqlx migrate build-script