#!/usr/bin/env bash playwright:local() { bash e2e/Taskfile playwright:local } playwright:ui() { bash e2e/Taskfile playwright:ui } refresh_sqlx_db() { rm -f some_user.db for migration in migrations/each_user/*.sql; do echo "Applying $migration..." sqlite3 some_user.db < "$migration" done } _env() { refresh_sqlx_db > /dev/null DATABASE_URL=sqlite:some_user.db \ CACHE_BUST_ASSETS_DIR=static \ "$@" } _cargo() { _env cargo "$@" } edit() { _env nvim } deploy_to_server() { where="$1" _cargo build --release rsync -v -essh ./target/release/mascarpone "$where:~" \ && rsync -rav -essh ./hashed_static "$where:~/static" \ && ssh -t "$where" "sudo mv -f mascarpone /usr/bin/ && sudo rm -rf /var/local/mascarpone/static && sudo mv -f static /var/local/mascarpone/ && sudo systemctl restart mascarpone" } dev() { _cargo run -- serve } "$@"