[INFO] cloning repository https://github.com/divijg19/Gamemaster
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/divijg19/Gamemaster" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdivijg19%2FGamemaster", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdivijg19%2FGamemaster'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a85085b0c0635e0927cc6c580d43a9f3dddc8e69
[INFO] checking divijg19/Gamemaster/a85085b0c0635e0927cc6c580d43a9f3dddc8e69 against master#90b65889799733f21ebdf59d96411aa531c5900a for pr-148477
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdivijg19%2FGamemaster" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/divijg19/Gamemaster
[INFO] finished tweaking git repo https://github.com/divijg19/Gamemaster
[INFO] tweaked toml for git repo https://github.com/divijg19/Gamemaster written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/divijg19/Gamemaster on toolchain 90b65889799733f21ebdf59d96411aa531c5900a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+90b65889799733f21ebdf59d96411aa531c5900a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/divijg19/Gamemaster already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+90b65889799733f21ebdf59d96411aa531c5900a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded scoped-futures v0.1.4
[INFO] [stderr]   Downloaded shuttle-service v0.57.0
[INFO] [stderr]   Downloaded shuttle-ifc v0.57.0
[INFO] [stderr]   Downloaded shuttle-shared-db v0.57.0
[INFO] [stderr]   Downloaded serde_cow v0.1.2
[INFO] [stderr]   Downloaded shuttle-codegen v0.57.0
[INFO] [stderr]   Downloaded typemap_rev v0.3.0
[INFO] [stderr]   Downloaded shuttle-serenity v0.57.0
[INFO] [stderr]   Downloaded shuttle-runtime v0.57.0
[INFO] [stderr]   Downloaded shuttle-api-client v0.57.0
[INFO] [stderr]   Downloaded tokio-tungstenite v0.27.0
[INFO] [stderr]   Downloaded shuttle-common v0.57.0
[INFO] [stderr]   Downloaded tungstenite v0.27.0
[INFO] [stderr]   Downloaded diesel-async v0.6.1
[INFO] [stderr]   Downloaded typeshare-annotation v1.0.4
[INFO] [stderr]   Downloaded typeshare v1.0.4
[INFO] [stderr]   Downloaded strfmt v0.2.5
[INFO] [stderr]   Downloaded diesel_derives v2.2.7
[INFO] [stderr]   Downloaded diesel v2.2.12
[INFO] [stderr]   Downloaded serenity v0.12.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+90b65889799733f21ebdf59d96411aa531c5900a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9e024fe5e422fdc48345f44b6a6f7d097a20e682ccf3991cee2e6712f6288cad
[INFO] running `Command { std: "docker" "start" "-a" "9e024fe5e422fdc48345f44b6a6f7d097a20e682ccf3991cee2e6712f6288cad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e024fe5e422fdc48345f44b6a6f7d097a20e682ccf3991cee2e6712f6288cad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e024fe5e422fdc48345f44b6a6f7d097a20e682ccf3991cee2e6712f6288cad", kill_on_drop: false }`
[INFO] [stdout] 9e024fe5e422fdc48345f44b6a6f7d097a20e682ccf3991cee2e6712f6288cad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+90b65889799733f21ebdf59d96411aa531c5900a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8470176f730dcac52311dd091c12b0d8c13d7ed0511c9319bd881165688a36a8
[INFO] running `Command { std: "docker" "start" "-a" "8470176f730dcac52311dd091c12b0d8c13d7ed0511c9319bd881165688a36a8", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]     Checking webpki-roots v1.0.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling rustls v0.22.4
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking semver v1.0.27
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]     Checking strfmt v0.2.5
[INFO] [stderr]     Checking headers v0.4.1
[INFO] [stderr]     Checking deranged v0.5.4
[INFO] [stderr]     Checking crc32fast v1.5.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling rustls v0.23.34
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]    Compiling serenity v0.12.4
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking flate2 v1.1.4
[INFO] [stderr]     Checking typemap_rev v0.3.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.7
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling typeshare-annotation v1.0.4
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.3
[INFO] [stderr]     Checking tungstenite v0.27.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking typeshare v1.0.4
[INFO] [stderr]     Checking shuttle-common v0.57.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking secrecy v0.8.0
[INFO] [stderr]     Checking serde_cow v0.1.2
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking shuttle-service v0.57.0
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling shuttle-ifc v0.57.0
[INFO] [stderr]    Compiling shuttle-codegen v0.57.0
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-rustls v0.25.0
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking tokio-tungstenite v0.27.0
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]    Compiling sqlx-postgres v0.8.6
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking hyper-util v0.1.17
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking reqwest v0.12.24
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking reqwest-middleware v0.4.2
[INFO] [stderr]     Checking shuttle-api-client v0.57.0
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking shuttle-shared-db v0.57.0
[INFO] [stderr]     Checking shuttle-runtime v0.57.0
[INFO] [stderr]     Checking shuttle-serenity v0.57.0
[INFO] [stderr]     Checking gamemaster-bot v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/commands/blackjack/handlers.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |       match sqlx::query!(
[INFO] [stdout]    |  ___________^
[INFO] [stdout] 15 | |         "SELECT balance FROM profiles WHERE user_id = $1",
[INFO] [stdout] 16 | |         user_id.get() as i64
[INFO] [stdout] 17 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/commands/games/engine.rs:124:45
[INFO] [stdout]     |
[INFO] [stdout] 124 |   ...                   if let Err(e) = sqlx::query!(
[INFO] [stdout]     |  _______________________________________^
[INFO] [stdout] 125 | | ...                       "UPDATE profiles SET balance = balance + $1 WHERE user_id = $2",
[INFO] [stdout] 126 | | ...                       payout.amount,
[INFO] [stdout] 127 | | ...                       payout.user_id.get() as i64
[INFO] [stdout] 128 | | ...                   )
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/commands/blackjack/handlers.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |       match sqlx::query!(
[INFO] [stdout]    |  ___________^
[INFO] [stdout] 15 | |         "SELECT balance FROM profiles WHERE user_id = $1",
[INFO] [stdout] 16 | |         user_id.get() as i64
[INFO] [stdout] 17 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/commands/party/ui.rs:183:16
[INFO] [stdout]     |
[INFO] [stdout] 183 | ... = sqlx::query!(r#"SELECT b.host_player_unit_id, pu....is_equipped = TRUE"#, user_id.get() as i64).fe...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/commands/party/ui.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |       let units = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 202 | |         crate::database::models::PlayerUnit,
[INFO] [stdout] 203 | |         r#"SELECT
[INFO] [stdout] 204 | |         pu.player_unit_id, pu.user_id, pu.unit_id, pu.nickname, pu.current_level, pu.current_xp,
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |         user_id.get() as i64
[INFO] [stdout] 210 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/commands/poker/handlers.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |       match sqlx::query!(
[INFO] [stdout]    |  ___________^
[INFO] [stdout] 13 | |         "SELECT balance FROM profiles WHERE user_id = $1",
[INFO] [stdout] 14 | |         user_id.get() as i64
[INFO] [stdout] 15 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/commands/games/engine.rs:124:45
[INFO] [stdout]     |
[INFO] [stdout] 124 |   ...                   if let Err(e) = sqlx::query!(
[INFO] [stdout]     |  _______________________________________^
[INFO] [stdout] 125 | | ...                       "UPDATE profiles SET balance = balance + $1 WHERE user_id = $2",
[INFO] [stdout] 126 | | ...                       payout.amount,
[INFO] [stdout] 127 | | ...                       payout.user_id.get() as i64
[INFO] [stdout] 128 | | ...                   )
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/crafting.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     sqlx::query_as!(Recipe, "SELECT * FROM recipes ORDER BY recipe_id")
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/crafting.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     sqlx::query_as!(
[INFO] [stdout] 22 | |         RecipeIngredient,
[INFO] [stdout] 23 | |         "SELECT item_id, quantity FROM recipe_ingredients WHERE recipe_id = $1",
[INFO] [stdout] 24 | |         recipe_id
[INFO] [stdout] 25 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/crafting.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |       let recipe = sqlx::query_as!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 38 | |         Recipe,
[INFO] [stdout] 39 | |         "SELECT * FROM recipes WHERE recipe_id = $1",
[INFO] [stdout] 40 | |         recipe_id
[INFO] [stdout] 41 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/economy.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     sqlx::query_as!(InventoryItem, "SELECT i.name, inv.quantity FROM inventories inv JOIN items i ON inv.item_id = i.item_id WHERE inv.user_id = $1 AND inv.quantity > 0 ORDER BY i.name", user_id_i64).fe...
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/economy.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     sqlx::query_as!(InventoryItem, "SELECT i.name, inv.quantity FROM inventories inv JOIN items i ON inv.item_id = i.item_id WHERE inv.user_id = $1 AND inv.item_id = $2 FOR UPDATE", user_id_i64, item_id_i32).fe...
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/economy.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | /     sqlx::query_as!(
[INFO] [stdout] 34 | |         Profile,
[INFO] [stdout] 35 | |         "WITH ins AS (INSERT INTO profiles (user_id) VALUES ($1) ON CONFLICT (user_id) DO NOTHING) SELECT balance, last_work, work_streak...
[INFO] [stdout] 36 | |         user_id_i64
[INFO] [stdout] 37 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/economy.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | /     sqlx::query!(
[INFO] [stdout] 52 | |         "UPDATE profiles SET balance = balance + $2 WHERE user_id = $1 AND balance + $2 >= 0",
[INFO] [stdout] 53 | |         user_id_i64,
[INFO] [stdout] 54 | |         delta
[INFO] [stdout] 55 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/economy.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 | /         sqlx::query!(
[INFO] [stdout] 82 | |             r#"INSERT INTO inventories (user_id, item_id, quantity)
[INFO] [stdout] 83 | |             VALUES ($1, $2, $3)
[INFO] [stdout] 84 | |             ON CONFLICT (user_id, item_id) DO UPDATE SET quantity = inventories.quantity + EXCLUDED.quantity"#,
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |             delta_qty
[INFO] [stdout] 88 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/economy.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 | /         sqlx::query!(
[INFO] [stdout] 95 | |             "UPDATE inventories SET quantity = quantity + $3 WHERE user_id = $1 AND item_id = $2 AND quantity + $3 >= 0",
[INFO] [stdout] 96 | |             user_id_i64,
[INFO] [stdout] 97 | |             item_id_i32,
[INFO] [stdout] 98 | |             delta_qty
[INFO] [stdout] 99 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/economy.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |       let mut profile = sqlx::query_as!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 123 | |         Profile,
[INFO] [stdout] 124 | |         "SELECT balance, last_work, work_streak, fishing_xp, fishing_level, mining_xp, mining_level, coding_xp, coding_level FROM profile...
[INFO] [stdout] 125 | |         user_id_i64
[INFO] [stdout] 126 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/commands/party/ui.rs:183:16
[INFO] [stdout]     |
[INFO] [stdout] 183 | ... = sqlx::query!(r#"SELECT b.host_player_unit_id, pu....is_equipped = TRUE"#, user_id.get() as i64).fe...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/economy.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | /     sqlx::query!(
[INFO] [stdout] 188 | |         "UPDATE profiles SET balance = $2, last_work = NOW(), work_streak = CASE WHEN last_work IS NULL OR last_work < NOW() - INTERVAL '...
[INFO] [stdout] 189 | |         user_id_i64,
[INFO] [stdout] 190 | |         profile.balance,
[INFO] [stdout] ...   |
[INFO] [stdout] 196 | |         profile.coding_level
[INFO] [stdout] 197 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/economy.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     sqlx::query_as!(InventoryItem, "SELECT i.name, inv.quantity FROM inventories inv JOIN items i ON inv.item_id = i.item_id WHERE inv.user_id = $1 AND inv.item_id = $2", user_id_i64, item_id_i32).fe...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/commands/party/ui.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |       let units = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 202 | |         crate::database::models::PlayerUnit,
[INFO] [stdout] 203 | |         r#"SELECT
[INFO] [stdout] 204 | |         pu.player_unit_id, pu.user_id, pu.unit_id, pu.nickname, pu.current_level, pu.current_xp,
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |         user_id.get() as i64
[INFO] [stdout] 210 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/human.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | /     sqlx::query!(
[INFO] [stdout] 34 | |         r#"INSERT INTO human_encounters (user_id, unit_id, defeats) VALUES ($1,$2,1)
[INFO] [stdout] 35 | |         ON CONFLICT (user_id, unit_id)
[INFO] [stdout] 36 | |         DO UPDATE SET defeats = human_encounters.defeats + 1, last_defeated_at = NOW()"#,
[INFO] [stdout] 37 | |         uid,
[INFO] [stdout] 38 | |         unit.unit_id
[INFO] [stdout] 39 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/human.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     sqlx::query_as!(HumanEncounter, "SELECT user_id, unit_id, defeats, last_defeated_at FROM human_encounters WHERE user_id=$1 AND unit_id=$2", uid, unit_id).fe...
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/human.rs:62:16
[INFO] [stdout]    |
[INFO] [stdout] 62 |       let rows = sqlx::query!(r#"SELECT u.unit_id, u.name, u.description, u.base_attack, u.base_defense, u.base_health, u.is_recruitable, u...
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 63 | |         FROM units u LEFT JOIN human_encounters he ON he.user_id = $1 AND he.unit_id = u.unit_id
[INFO] [stdout] 64 | |         WHERE u.kind = 'Human'"#, uid).fetch_all(pool).await?;
[INFO] [stdout]    | |______________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/commands/poker/handlers.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |       match sqlx::query!(
[INFO] [stdout]    |  ___________^
[INFO] [stdout] 13 | |         "SELECT balance FROM profiles WHERE user_id = $1",
[INFO] [stdout] 14 | |         user_id.get() as i64
[INFO] [stdout] 15 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/human.rs:89:16
[INFO] [stdout]    |
[INFO] [stdout] 89 | ... = sqlx::query!("SELECT u.unit_id, u.name, u.description, u.base_attack, u.base_defense, u.base_health, u.is_recruitable, u.kind as \"kind: UnitKind\", u.rarity as \"rarity: UnitRarity\" FROM units u WHERE u.unit_id = $1", unit_id)
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/human.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |       let encounter = sqlx::query!(
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 95 | |         "SELECT defeats FROM human_encounters WHERE user_id=$1 AND unit_id=$2",
[INFO] [stdout] 96 | |         uid,
[INFO] [stdout] 97 | |         unit_id
[INFO] [stdout] 98 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:107:26
[INFO] [stdout]     |
[INFO] [stdout] 107 |       let drafted_exists = sqlx::query_scalar!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 108 | |         "SELECT 1 FROM drafted_human_contracts WHERE user_id=$1 AND unit_id=$2 AND consumed=FALSE",
[INFO] [stdout] 109 | |         uid,
[INFO] [stdout] 110 | |         unit_id
[INFO] [stdout] 111 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:143:23
[INFO] [stdout]     |
[INFO] [stdout] 143 |           let inv_row = sqlx::query!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 144 | |             "SELECT quantity FROM inventories WHERE user_id=$1 AND item_id=$2 FOR UPDATE",
[INFO] [stdout] 145 | |             uid,
[INFO] [stdout] 146 | |             item as i32
[INFO] [stdout] 147 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | /         sqlx::query!(
[INFO] [stdout] 159 | |             "UPDATE inventories SET quantity = quantity - 1 WHERE user_id=$1 AND item_id=$2",
[INFO] [stdout] 160 | |             uid,
[INFO] [stdout] 161 | |             item as i32
[INFO] [stdout] 162 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 | /         sqlx::query!(
[INFO] [stdout] 167 | |             "INSERT INTO drafted_human_contracts (user_id, unit_id) VALUES ($1,$2)",
[INFO] [stdout] 168 | |             uid,
[INFO] [stdout] 169 | |             unit_id
[INFO] [stdout] 170 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 | /         sqlx::query!(
[INFO] [stdout] 177 | |             "INSERT INTO drafted_human_contracts (user_id, unit_id) VALUES ($1,$2)",
[INFO] [stdout] 178 | |             uid,
[INFO] [stdout] 179 | |             unit_id
[INFO] [stdout] 180 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:199:19
[INFO] [stdout]     |
[INFO] [stdout] 199 |       let drafted = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 200 | |         "SELECT 1 FROM drafted_human_contracts WHERE user_id=$1 AND unit_id=$2 AND consumed=FALSE",
[INFO] [stdout] 201 | |         uid,
[INFO] [stdout] 202 | |         unit_id
[INFO] [stdout] 203 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 | ... = sqlx::query!("SELECT unit_id, name, base_attack, base_defense, base_health, rarity as \"rarity: UnitRarity\", kind as \"kind: UnitKind\", is_recruitable, description FROM units WHERE unit_id=$1", unit_id)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:219:27
[INFO] [stdout]     |
[INFO] [stdout] 219 |       let party_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 220 | |         "SELECT COUNT(*) FROM player_units WHERE user_id=$1 AND is_in_party=TRUE",
[INFO] [stdout] 221 | |         uid
[INFO] [stdout] 222 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 |     sqlx::query!("INSERT INTO player_units (...r.base_health, unit_master.rarity as _, is_in_party)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 | /     sqlx::query!(
[INFO] [stdout] 234 | |         "UPDATE drafted_human_contracts SET consumed=TRUE WHERE user_id=$1 AND unit_id=$2",
[INFO] [stdout] 235 | |         uid,
[INFO] [stdout] 236 | |         unit_id
[INFO] [stdout] 237 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:261:16
[INFO] [stdout]     |
[INFO] [stdout] 261 |       let rows = sqlx::query!(r#"SELECT u.unit_id, u.name, u.description, u.base_attack, u.base_defense, u.base_health, u.is_recruitable, u...
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 262 | |         COALESCE(he.defeats,0) as defeats, he.last_defeated_at,
[INFO] [stdout] 263 | |         (SELECT 1 FROM drafted_human_contracts d2 WHERE d2.user_id=$1 AND d2.unit_id=u.unit_id AND d2.consumed=FALSE) as drafted_active,
[INFO] [stdout] 264 | |         (SELECT 1 FROM player_units pu WHERE pu.user_id=$1 AND pu.unit_id=u.unit_id LIMIT 1) as recruited
[INFO] [stdout] 265 | |         FROM units u LEFT JOIN human_encounters he ON he.user_id=$1 AND he.unit_id=u.unit_id WHERE u.kind='Human'"#, uid)
[INFO] [stdout]     | |_________________________________________________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 298 |     sqlx::query_as!(DraftedHumanContract, "SELECT user_id, unit_id, drafted_at, consumed FROM drafted_human_contracts WHERE user_id = $1 AND consumed = FALSE ORDER BY drafted_at DESC", uid).fe...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:308:5
[INFO] [stdout]     |
[INFO] [stdout] 308 |     sqlx::query_as!(HumanContractOffer, "SELECT user_id, unit_id, cost, offered_at, expires_at, accepted_at, rarity_snapshot as \"rarity_snapshot: UnitRarity\" FROM human_contract_offers WHERE user_id=$1 AND accepted_at IS NULL ORDER BY offered_at DESC", uid).fe...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:332:15
[INFO] [stdout]     |
[INFO] [stdout] 332 |       let row = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 333 | |         HumanEncounter,
[INFO] [stdout] 334 | |         r#"SELECT user_id, unit_id, defeats, last_defeated_at
[INFO] [stdout] 335 | |            FROM human_encounters WHERE unit_id = $1 ORDER BY last_defeated_at DESC NULLS LAST LIMIT 1"#,
[INFO] [stdout] 336 | |         unit_id
[INFO] [stdout] 337 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/leaderboard.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | /     sqlx::query_as!(
[INFO] [stdout] 21 | |         LeaderboardEntry,
[INFO] [stdout] 22 | |         r#"
[INFO] [stdout] 23 | |         SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 35 | |         limit
[INFO] [stdout] 36 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/leaderboard.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | /     sqlx::query_as!(
[INFO] [stdout] 47 | |         LeaderboardEntry,
[INFO] [stdout] 48 | |         r#"
[INFO] [stdout] 49 | |         SELECT user_id, balance as "score!"
[INFO] [stdout] ...  |
[INFO] [stdout] 54 | |         limit
[INFO] [stdout] 55 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/leaderboard.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | /     sqlx::query_as!(
[INFO] [stdout] 66 | |         LeaderboardEntry,
[INFO] [stdout] 67 | |         r#"
[INFO] [stdout] 68 | |         SELECT user_id, work_streak as "score!"
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |         limit
[INFO] [stdout] 74 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/crafting.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     sqlx::query_as!(Recipe, "SELECT * FROM recipes ORDER BY recipe_id")
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/crafting.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     sqlx::query_as!(
[INFO] [stdout] 22 | |         RecipeIngredient,
[INFO] [stdout] 23 | |         "SELECT item_id, quantity FROM recipe_ingredients WHERE recipe_id = $1",
[INFO] [stdout] 24 | |         recipe_id
[INFO] [stdout] 25 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/crafting.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |       let recipe = sqlx::query_as!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 38 | |         Recipe,
[INFO] [stdout] 39 | |         "SELECT * FROM recipes WHERE recipe_id = $1",
[INFO] [stdout] 40 | |         recipe_id
[INFO] [stdout] 41 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/economy.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     sqlx::query_as!(InventoryItem, "SELECT i.name, inv.quantity FROM inventories inv JOIN items i ON inv.item_id = i.item_id WHERE inv.user_id = $1 AND inv.quantity > 0 ORDER BY i.name", user_id_i64).fe...
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/economy.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     sqlx::query_as!(InventoryItem, "SELECT i.name, inv.quantity FROM inventories inv JOIN items i ON inv.item_id = i.item_id WHERE inv.user_id = $1 AND inv.item_id = $2 FOR UPDATE", user_id_i64, item_id_i32).fe...
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/economy.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | /     sqlx::query_as!(
[INFO] [stdout] 34 | |         Profile,
[INFO] [stdout] 35 | |         "WITH ins AS (INSERT INTO profiles (user_id) VALUES ($1) ON CONFLICT (user_id) DO NOTHING) SELECT balance, last_work, work_streak...
[INFO] [stdout] 36 | |         user_id_i64
[INFO] [stdout] 37 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/economy.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | /     sqlx::query!(
[INFO] [stdout] 52 | |         "UPDATE profiles SET balance = balance + $2 WHERE user_id = $1 AND balance + $2 >= 0",
[INFO] [stdout] 53 | |         user_id_i64,
[INFO] [stdout] 54 | |         delta
[INFO] [stdout] 55 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/economy.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 | /         sqlx::query!(
[INFO] [stdout] 82 | |             r#"INSERT INTO inventories (user_id, item_id, quantity)
[INFO] [stdout] 83 | |             VALUES ($1, $2, $3)
[INFO] [stdout] 84 | |             ON CONFLICT (user_id, item_id) DO UPDATE SET quantity = inventories.quantity + EXCLUDED.quantity"#,
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |             delta_qty
[INFO] [stdout] 88 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/economy.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 | /         sqlx::query!(
[INFO] [stdout] 95 | |             "UPDATE inventories SET quantity = quantity + $3 WHERE user_id = $1 AND item_id = $2 AND quantity + $3 >= 0",
[INFO] [stdout] 96 | |             user_id_i64,
[INFO] [stdout] 97 | |             item_id_i32,
[INFO] [stdout] 98 | |             delta_qty
[INFO] [stdout] 99 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/economy.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |       let mut profile = sqlx::query_as!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 123 | |         Profile,
[INFO] [stdout] 124 | |         "SELECT balance, last_work, work_streak, fishing_xp, fishing_level, mining_xp, mining_level, coding_xp, coding_level FROM profile...
[INFO] [stdout] 125 | |         user_id_i64
[INFO] [stdout] 126 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/economy.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | /     sqlx::query!(
[INFO] [stdout] 188 | |         "UPDATE profiles SET balance = $2, last_work = NOW(), work_streak = CASE WHEN last_work IS NULL OR last_work < NOW() - INTERVAL '...
[INFO] [stdout] 189 | |         user_id_i64,
[INFO] [stdout] 190 | |         profile.balance,
[INFO] [stdout] ...   |
[INFO] [stdout] 196 | |         profile.coding_level
[INFO] [stdout] 197 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/economy.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     sqlx::query_as!(InventoryItem, "SELECT i.name, inv.quantity FROM inventories inv JOIN items i ON inv.item_id = i.item_id WHERE inv.user_id = $1 AND inv.item_id = $2", user_id_i64, item_id_i32).fe...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/human.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | /     sqlx::query!(
[INFO] [stdout] 34 | |         r#"INSERT INTO human_encounters (user_id, unit_id, defeats) VALUES ($1,$2,1)
[INFO] [stdout] 35 | |         ON CONFLICT (user_id, unit_id)
[INFO] [stdout] 36 | |         DO UPDATE SET defeats = human_encounters.defeats + 1, last_defeated_at = NOW()"#,
[INFO] [stdout] 37 | |         uid,
[INFO] [stdout] 38 | |         unit.unit_id
[INFO] [stdout] 39 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/human.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     sqlx::query_as!(HumanEncounter, "SELECT user_id, unit_id, defeats, last_defeated_at FROM human_encounters WHERE user_id=$1 AND unit_id=$2", uid, unit_id).fe...
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/human.rs:62:16
[INFO] [stdout]    |
[INFO] [stdout] 62 |       let rows = sqlx::query!(r#"SELECT u.unit_id, u.name, u.description, u.base_attack, u.base_defense, u.base_health, u.is_recruitable, u...
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 63 | |         FROM units u LEFT JOIN human_encounters he ON he.user_id = $1 AND he.unit_id = u.unit_id
[INFO] [stdout] 64 | |         WHERE u.kind = 'Human'"#, uid).fetch_all(pool).await?;
[INFO] [stdout]    | |______________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/human.rs:89:16
[INFO] [stdout]    |
[INFO] [stdout] 89 | ... = sqlx::query!("SELECT u.unit_id, u.name, u.description, u.base_attack, u.base_defense, u.base_health, u.is_recruitable, u.kind as \"kind: UnitKind\", u.rarity as \"rarity: UnitRarity\" FROM units u WHERE u.unit_id = $1", unit_id)
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/human.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |       let encounter = sqlx::query!(
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 95 | |         "SELECT defeats FROM human_encounters WHERE user_id=$1 AND unit_id=$2",
[INFO] [stdout] 96 | |         uid,
[INFO] [stdout] 97 | |         unit_id
[INFO] [stdout] 98 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:107:26
[INFO] [stdout]     |
[INFO] [stdout] 107 |       let drafted_exists = sqlx::query_scalar!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 108 | |         "SELECT 1 FROM drafted_human_contracts WHERE user_id=$1 AND unit_id=$2 AND consumed=FALSE",
[INFO] [stdout] 109 | |         uid,
[INFO] [stdout] 110 | |         unit_id
[INFO] [stdout] 111 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:143:23
[INFO] [stdout]     |
[INFO] [stdout] 143 |           let inv_row = sqlx::query!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 144 | |             "SELECT quantity FROM inventories WHERE user_id=$1 AND item_id=$2 FOR UPDATE",
[INFO] [stdout] 145 | |             uid,
[INFO] [stdout] 146 | |             item as i32
[INFO] [stdout] 147 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | /         sqlx::query!(
[INFO] [stdout] 159 | |             "UPDATE inventories SET quantity = quantity - 1 WHERE user_id=$1 AND item_id=$2",
[INFO] [stdout] 160 | |             uid,
[INFO] [stdout] 161 | |             item as i32
[INFO] [stdout] 162 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 | /         sqlx::query!(
[INFO] [stdout] 167 | |             "INSERT INTO drafted_human_contracts (user_id, unit_id) VALUES ($1,$2)",
[INFO] [stdout] 168 | |             uid,
[INFO] [stdout] 169 | |             unit_id
[INFO] [stdout] 170 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 | /         sqlx::query!(
[INFO] [stdout] 177 | |             "INSERT INTO drafted_human_contracts (user_id, unit_id) VALUES ($1,$2)",
[INFO] [stdout] 178 | |             uid,
[INFO] [stdout] 179 | |             unit_id
[INFO] [stdout] 180 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:199:19
[INFO] [stdout]     |
[INFO] [stdout] 199 |       let drafted = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 200 | |         "SELECT 1 FROM drafted_human_contracts WHERE user_id=$1 AND unit_id=$2 AND consumed=FALSE",
[INFO] [stdout] 201 | |         uid,
[INFO] [stdout] 202 | |         unit_id
[INFO] [stdout] 203 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 | ... = sqlx::query!("SELECT unit_id, name, base_attack, base_defense, base_health, rarity as \"rarity: UnitRarity\", kind as \"kind: UnitKind\", is_recruitable, description FROM units WHERE unit_id=$1", unit_id)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:219:27
[INFO] [stdout]     |
[INFO] [stdout] 219 |       let party_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 220 | |         "SELECT COUNT(*) FROM player_units WHERE user_id=$1 AND is_in_party=TRUE",
[INFO] [stdout] 221 | |         uid
[INFO] [stdout] 222 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 |     sqlx::query!("INSERT INTO player_units (...r.base_health, unit_master.rarity as _, is_in_party)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 | /     sqlx::query!(
[INFO] [stdout] 234 | |         "UPDATE drafted_human_contracts SET consumed=TRUE WHERE user_id=$1 AND unit_id=$2",
[INFO] [stdout] 235 | |         uid,
[INFO] [stdout] 236 | |         unit_id
[INFO] [stdout] 237 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:261:16
[INFO] [stdout]     |
[INFO] [stdout] 261 |       let rows = sqlx::query!(r#"SELECT u.unit_id, u.name, u.description, u.base_attack, u.base_defense, u.base_health, u.is_recruitable, u...
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 262 | |         COALESCE(he.defeats,0) as defeats, he.last_defeated_at,
[INFO] [stdout] 263 | |         (SELECT 1 FROM drafted_human_contracts d2 WHERE d2.user_id=$1 AND d2.unit_id=u.unit_id AND d2.consumed=FALSE) as drafted_active,
[INFO] [stdout] 264 | |         (SELECT 1 FROM player_units pu WHERE pu.user_id=$1 AND pu.unit_id=u.unit_id LIMIT 1) as recruited
[INFO] [stdout] 265 | |         FROM units u LEFT JOIN human_encounters he ON he.user_id=$1 AND he.unit_id=u.unit_id WHERE u.kind='Human'"#, uid)
[INFO] [stdout]     | |_________________________________________________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 298 |     sqlx::query_as!(DraftedHumanContract, "SELECT user_id, unit_id, drafted_at, consumed FROM drafted_human_contracts WHERE user_id = $1 AND consumed = FALSE ORDER BY drafted_at DESC", uid).fe...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:308:5
[INFO] [stdout]     |
[INFO] [stdout] 308 |     sqlx::query_as!(HumanContractOffer, "SELECT user_id, unit_id, cost, offered_at, expires_at, accepted_at, rarity_snapshot as \"rarity_snapshot: UnitRarity\" FROM human_contract_offers WHERE user_id=$1 AND accepted_at IS NULL ORDER BY offered_at DESC", uid).fe...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/human.rs:332:15
[INFO] [stdout]     |
[INFO] [stdout] 332 |       let row = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 333 | |         HumanEncounter,
[INFO] [stdout] 334 | |         r#"SELECT user_id, unit_id, defeats, last_defeated_at
[INFO] [stdout] 335 | |            FROM human_encounters WHERE unit_id = $1 ORDER BY last_defeated_at DESC NULLS LAST LIMIT 1"#,
[INFO] [stdout] 336 | |         unit_id
[INFO] [stdout] 337 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/leaderboard.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | /     sqlx::query_as!(
[INFO] [stdout] 21 | |         LeaderboardEntry,
[INFO] [stdout] 22 | |         r#"
[INFO] [stdout] 23 | |         SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 35 | |         limit
[INFO] [stdout] 36 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/leaderboard.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | /     sqlx::query_as!(
[INFO] [stdout] 47 | |         LeaderboardEntry,
[INFO] [stdout] 48 | |         r#"
[INFO] [stdout] 49 | |         SELECT user_id, balance as "score!"
[INFO] [stdout] ...  |
[INFO] [stdout] 54 | |         limit
[INFO] [stdout] 55 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/leaderboard.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | /     sqlx::query_as!(
[INFO] [stdout] 66 | |         LeaderboardEntry,
[INFO] [stdout] 67 | |         r#"
[INFO] [stdout] 68 | |         SELECT user_id, work_streak as "score!"
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |         limit
[INFO] [stdout] 74 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/quests.rs:32:30
[INFO] [stdout]    |
[INFO] [stdout] 32 |       let offered_count: i64 = sqlx::query_scalar!(
[INFO] [stdout]    |  ______________________________^
[INFO] [stdout] 33 | |         "SELECT COUNT(*) FROM player_quests WHERE user_id = $1 AND status = 'Offered'",
[INFO] [stdout] 34 | |         user_id_i64
[INFO] [stdout] 35 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/quests.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 |           let new_quests = sqlx::query_as!(
[INFO] [stdout]    |  __________________________^
[INFO] [stdout] 43 | |             Quest,
[INFO] [stdout] 44 | |             r#"SELECT quest_id, title, description,
[INFO] [stdout] 45 | |         COALESCE(giver_name,'Unknown') AS "giver_name!",
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | |             QUEST_BOARD_SIZE
[INFO] [stdout] 52 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/quests.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 | /             sqlx::query!(
[INFO] [stdout] 68 | |                 "INSERT INTO player_quests (user_id, quest_id, status) VALUES ($1, $2, 'Offered')",
[INFO] [stdout] 69 | |                 user_id_i64,
[INFO] [stdout] 70 | |                 quest.quest_id
[INFO] [stdout] 71 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/quests.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 |       let details_list = sqlx::query_as!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 89 | |         QuestDetails,
[INFO] [stdout] 90 | |         r#"SELECT pq.player_quest_id, pq.status as "status: _", q.title, q.description,
[INFO] [stdout] 91 | |             COALESCE(q.giver_name,'Unknown') AS "giver_name!",
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |         status as _
[INFO] [stdout] 98 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/quests.rs:105:23
[INFO] [stdout]     |
[INFO] [stdout] 105 |   ...   let rewards = sqlx::query_as!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 106 | | ...       QuestReward,
[INFO] [stdout] 107 | | ...       "SELECT quest_reward_id, quest_id, reward_coins, reward_item_id, reward_item_quantity FROM quest_rewards WHERE quest_id = (SELE...
[INFO] [stdout] 108 | | ...       details.player_quest_id
[INFO] [stdout] 109 | | ...   )
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/quests.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 | ... = sqlx::query_as!(AcceptedQuest, r#"UPDATE player_quests pq S..."#, player_quest_id, user_id_i64)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/quests.rs:143:23
[INFO] [stdout]     |
[INFO] [stdout] 143 |           let rewards = sqlx::query_as!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 144 | |             QuestReward,
[INFO] [stdout] 145 | |             "SELECT * FROM quest_rewards WHERE quest_id = $1",
[INFO] [stdout] 146 | |             id
[INFO] [stdout] 147 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/quests.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         sqlx::query!("UPDATE player_quests SET status = 'Completed', completed_at = NOW() WHERE player_quest_id = $1", player_quest_id)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/quests.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     sqlx::query_scalar!("SELECT q.title FROM quests q JOIN player_quests pq ON q.quest_id = pq.quest_id WHERE pq.player_quest_id = $1", player_quest_id).fe...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/quests.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 | /     sqlx::query_as!(
[INFO] [stdout] 200 | |         PlayerQuest,
[INFO] [stdout] 201 | |         r#"
[INFO] [stdout] 202 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 207 | |         player_quest_id
[INFO] [stdout] 208 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/saga.rs:21:27
[INFO] [stdout]    |
[INFO] [stdout] 21 |       let completed_units = sqlx::query_as!(
[INFO] [stdout]    |  ___________________________^
[INFO] [stdout] 22 | |         PlayerUnit,
[INFO] [stdout] 23 | |         r#"SELECT 
[INFO] [stdout] 24 | |         pu.player_unit_id, pu.user_id, pu.unit_id, pu.nickname, pu.current_level, pu.current_xp,
[INFO] [stdout] ...  |
[INFO] [stdout] 30 | |         now
[INFO] [stdout] 31 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/saga.rs:62:55
[INFO] [stdout]    |
[INFO] [stdout] 62 |       let mut initial_profile = if let Some(inserted) = sqlx::query_as!(
[INFO] [stdout]    |  _______________________________________________________^
[INFO] [stdout] 63 | |         SagaProfile,
[INFO] [stdout] 64 | |         "INSERT INTO player_saga_profile (user_id) VALUES ($1) ON CONFLICT (user_id) DO NOTHING RETURNING current_ap, max_ap, current_tp,...
[INFO] [stdout] 65 | |         user_id_i64
[INFO] [stdout] 66 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/saga.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | / ...   sqlx::query_as!(
[INFO] [stdout] 72 | | ...       SagaProfile,
[INFO] [stdout] 73 | | ...       "SELECT current_ap, max_ap, current_tp, max_tp, last_tp_update, story_progress FROM player_saga_profile WHERE user_id = $1 FOR ...
[INFO] [stdout] 74 | | ...       user_id_i64
[INFO] [stdout] 75 | | ...   )
[INFO] [stdout]    | |_______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/saga.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 |   ...   let adjusted = sqlx::query_as!(
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 88 | | ...       SagaProfile,
[INFO] [stdout] 89 | | ...       "UPDATE player_saga_profile SET current_ap = 4, max_ap = 4, current_tp = 10, max_tp = 10 WHERE user_id = $1 RETURNING current_a...
[INFO] [stdout] 90 | | ...       user_id_i64
[INFO] [stdout] 91 | | ...   )
[INFO] [stdout]    | |_______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/saga.rs:106:31
[INFO] [stdout]     |
[INFO] [stdout] 106 | ... = sqlx::query_as!(SagaProfile, "UPDATE player_saga_profile SET current_tp = $1, current_ap = $2, last_tp_update = $3 WHERE user_id = $4 RETURNING current_ap, max_ap, current_tp, max_tp, last_tp_update, story_progress", calculated_tp, calculated_ap, now, user_id_i64).fe...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/saga.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |       let units = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 124 | |         PlayerUnit,
[INFO] [stdout] 125 | |         r#"SELECT
[INFO] [stdout] 126 | |         pu.player_unit_id, pu.user_id, pu.unit_id, pu.nickname, pu.current_level, pu.current_xp,
[INFO] [stdout] ...   |
[INFO] [stdout] 132 | |         user_id.get() as i64
[INFO] [stdout] 133 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/saga.rs:146:25
[INFO] [stdout]     |
[INFO] [stdout] 146 | ... = sqlx::query!("UPDATE player_saga_profile SET current_ap = current_ap - $1 WHERE user_id = $2 AND current_ap >= $1", amount, user_id_i64).ex...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/saga.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     sqlx::query!("UPDATE player_saga_profile SET story_progress = $1 WHERE user_id = $2 AND story_progress < $1", new_progress, user_id_i64).ex...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]  --> src/database/settings.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let row = sqlx::query!("SELECT value FROM bot_config WHERE key = $1", key)
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/settings.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     sqlx::query!("INSERT INTO bot_config (key, value) VALUES ($1, $2) ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value", key, value)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tasks.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |           let new_tasks = sqlx::query_as!(
[INFO] [stdout]    |  _________________________^
[INFO] [stdout] 31 | |             Task,
[INFO] [stdout] 32 | |             r#"SELECT task_id, task_type as "task_type: _", title, description,
[INFO] [stdout] 33 | |                     objective_key, objective_goal,
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |             limit
[INFO] [stdout] 38 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tasks.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 | /             sqlx::query!(
[INFO] [stdout] 57 | |                 "INSERT INTO player_tasks (user_id, task_id) VALUES ($1, $2)",
[INFO] [stdout] 58 | |                 user_id,
[INFO] [stdout] 59 | |                 task.task_id
[INFO] [stdout] 60 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tasks.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |       let tasks = sqlx::query_as!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 77 | |         PlayerTaskDetails,
[INFO] [stdout] 78 | |         r#"SELECT
[INFO] [stdout] 79 | |             pt.player_task_id, pt.progress, pt.is_completed, t.task_type as "task_type: _",
[INFO] [stdout] ...  |
[INFO] [stdout] 88 | |         user_id_i64
[INFO] [stdout] 89 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/tasks.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | /     sqlx::query!(
[INFO] [stdout] 104 | |         r#"
[INFO] [stdout] 105 | |         WITH updated AS (
[INFO] [stdout] 106 | |             UPDATE player_tasks pt SET progress = LEAST(t.objective_goal, pt.progress + $3)
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |         increment_by
[INFO] [stdout] 118 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/tasks.rs:131:25
[INFO] [stdout]     |
[INFO] [stdout] 131 |       let task_to_claim = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 132 | |         r#"SELECT t.reward_coins, t.reward_item_id, t.reward_item_quantity
[INFO] [stdout] 133 | |         FROM player_tasks pt JOIN tasks t ON pt.task_id = t.task_id
[INFO] [stdout] 134 | |         WHERE pt.player_task_id = $1 AND pt.user_id = $2
[INFO] [stdout] ...   |
[INFO] [stdout] 137 | |         user_id_i64
[INFO] [stdout] 138 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/tasks.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 | /         sqlx::query!(
[INFO] [stdout] 158 | |             "UPDATE player_tasks SET claimed_at = NOW() WHERE player_task_id = $1",
[INFO] [stdout] 159 | |             player_task_id
[INFO] [stdout] 160 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tavern.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |       let rec = sqlx::query!(
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 12 | |         "SELECT fame, daily_rerolls, last_reroll FROM tavern_fame WHERE user_id=$1",
[INFO] [stdout] 13 | |         uid
[INFO] [stdout] 14 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tavern.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | /     sqlx::query!(
[INFO] [stdout] 21 | |         "INSERT INTO tavern_fame (user_id) VALUES ($1) ON CONFLICT DO NOTHING",
[INFO] [stdout] 22 | |         uid
[INFO] [stdout] 23 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tavern.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     sqlx::query!("INSERT INTO tavern_fame (user_id,fame) VALUES ($1,$2) ON CONFLICT (user_id) DO UPDATE SET fame = tavern_fame.fame + $2", uid, amount)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tavern.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 | ... = sqlx::query!("SELECT daily_rerolls, COALESCE(last_reroll::date, CURRENT_DATE - INTERVAL '1 day') as d FROM tavern_fame WHERE user_id=$1", uid)
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tavern.rs:59:22
[INFO] [stdout]    |
[INFO] [stdout] 59 |       if let Some(r) = sqlx::query!(
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 60 | |         "SELECT rotation, day FROM tavern_user_rotation WHERE user_id=$1",
[INFO] [stdout] 61 | |         uid
[INFO] [stdout] 62 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tavern.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     sqlx::query!("INSERT INTO tavern_user_rotation (user_id, rotation, day) VALUES ($1,$2,$3) ON CONFLICT (user_id) DO UPDATE SET rotation = EXCLUDED.rotation, day=EXCLUDED.day, generated_at = NOW()", uid, &global_daily, today)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/units.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | /     sqlx::query_as!(
[INFO] [stdout] 27 | |         PlayerUnit,
[INFO] [stdout] 28 | |         r#"SELECT
[INFO] [stdout] 29 | |         pu.player_unit_id, pu.user_id, pu.unit_id, pu.nickname, pu.current_level, pu.current_xp,
[INFO] [stdout] ...  |
[INFO] [stdout] 35 | |         user_id_i64
[INFO] [stdout] 36 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/units.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     sqlx::query_as!(
[INFO] [stdout] 48 | |         PlayerUnit,
[INFO] [stdout] 49 | |         r#"SELECT
[INFO] [stdout] 50 | |         pu.player_unit_id, pu.user_id, pu.unit_id, pu.nickname, pu.current_level, pu.current_xp,
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |         user_id_i64
[INFO] [stdout] 57 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/units.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     sqlx::query_as!(Unit, "SELECT unit_id, name, description, base_attack, base_defense, base_health, is_recruitable, kind as \"kind: UnitKind\", rarity as \"rarity: UnitRarity\" FROM units WHERE unit_id = ANY($1)", unit_ids)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/units.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     sqlx::query_as!(Unit, "SELECT unit_id, name, description, base_attack, base_defense, base_health, is_recruitable, kind as \"kind: UnitKind\", rarity as \"rarity: UnitRarity\" FROM units ORDER BY unit_id")
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/units.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |       let count = sqlx::query_scalar!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 84 | |         "SELECT quantity FROM inventories WHERE user_id = $1 AND item_id = $2",
[INFO] [stdout] 85 | |         user_id_i64,
[INFO] [stdout] 86 | |         lure_item_id
[INFO] [stdout] 87 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     sqlx::query!("SELECT pg_advisory_xact_lock($1)", user_id_i64)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 | ... = sqlx::query_as!(Profile, "SELECT balance, last_work, work_streak, fishing_xp, fishing_level, mining_xp, mining_level, coding_xp, coding_level FROM profiles WHERE user_id = $1 FOR UPDATE", user_id_i64).fe...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:113:26
[INFO] [stdout]     |
[INFO] [stdout] 113 |       let army_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 114 | |         "SELECT COUNT(*) FROM player_units WHERE user_id = $1",
[INFO] [stdout] 115 | |         user_id_i64
[INFO] [stdout] 116 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 | ... = sqlx::query_as!(Unit, "SELECT unit_id, name, description, base_attack, base_defense, base_health, is_recruitable, kind as \"kind: UnitKind\", rarity as \"rarity: UnitRarity\" FROM units WHERE unit_id = $1", unit_id)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |           let party_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 141 | |             "SELECT COUNT(*) FROM player_units WHERE user_id = $1 AND is_in_party = TRUE",
[INFO] [stdout] 142 | |             user_id_i64
[INFO] [stdout] 143 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     sqlx::query!("INSERT INTO player_units (...r.base_health, unit_master.rarity as _, is_in_party).ex...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     sqlx::query!("SELECT pg_advisory_xact_lock($1)", user_id_i64)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:172:23
[INFO] [stdout]     |
[INFO] [stdout] 172 | ... = sqlx::query_as!(Unit, "SELECT unit_id, name, description, base_attack, base_defense, base_health, is_recruitable, kind as \"kind: UnitKind\", rarity as \"rarity: UnitRarity\" FROM units WHERE unit_id = $1", unit_id_to_recruit)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 |           let army_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 197 | |             "SELECT COUNT(*) FROM player_units WHERE user_id = $1",
[INFO] [stdout] 198 | |             user_id_i64
[INFO] [stdout] 199 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     sqlx::query!("INSERT INTO player_units (...e, unit_master.base_health, unit_master.rarity as _).ex...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:260:16
[INFO] [stdout]     |
[INFO] [stdout] 260 |       let host = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 261 | |         "SELECT player_unit_id, rarity::text as rarity_text FROM player_units WHERE player_unit_id = $1 AND user_id = $2 FOR UPDATE",
[INFO] [stdout] 262 | |         host_player_unit_id,
[INFO] [stdout] 263 | |         user_id_i64
[INFO] [stdout] 264 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:268:20
[INFO] [stdout]     |
[INFO] [stdout] 268 |       let equipped = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 269 | |         "SELECT player_unit_id, rarity::text as rarity_text, is_in_party FROM player_units WHERE player_unit_id = $1 AND user_id = $2 FOR...
[INFO] [stdout] 270 | |         equipped_player_unit_id,
[INFO] [stdout] 271 | |         user_id_i64
[INFO] [stdout] 272 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:292:20
[INFO] [stdout]     |
[INFO] [stdout] 292 |       let host_has = sqlx::query_scalar!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 293 | |         "SELECT 1 FROM equippable_unit_bonds WHERE host_player_unit_id = $1",
[INFO] [stdout] 294 | |         host_player_unit_id
[INFO] [stdout] 295 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:303:25
[INFO] [stdout]     |
[INFO] [stdout] 303 |       let equipped_used = sqlx::query_scalar!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 304 | |         "SELECT 1 FROM equippable_unit_bonds WHERE equipped_player_unit_id = $1",
[INFO] [stdout] 305 | |         equipped_player_unit_id
[INFO] [stdout] 306 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 314 |     sqlx::query!("INSERT INTO equippable_unit_bonds (host_player_unit_id, equipped_player_unit_id, is_equipped) VALUES ($1,$2, TRUE)", host_player_unit_id, equipped_player_unit_id)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | /     sqlx::query!(
[INFO] [stdout] 319 | |         "UPDATE player_units SET is_in_party = FALSE WHERE player_unit_id = $1",
[INFO] [stdout] 320 | |         equipped_player_unit_id
[INFO] [stdout] 321 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/quests.rs:32:30
[INFO] [stdout]    |
[INFO] [stdout] 32 |       let offered_count: i64 = sqlx::query_scalar!(
[INFO] [stdout]    |  ______________________________^
[INFO] [stdout] 33 | |         "SELECT COUNT(*) FROM player_quests WHERE user_id = $1 AND status = 'Offered'",
[INFO] [stdout] 34 | |         user_id_i64
[INFO] [stdout] 35 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/quests.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 |           let new_quests = sqlx::query_as!(
[INFO] [stdout]    |  __________________________^
[INFO] [stdout] 43 | |             Quest,
[INFO] [stdout] 44 | |             r#"SELECT quest_id, title, description,
[INFO] [stdout] 45 | |         COALESCE(giver_name,'Unknown') AS "giver_name!",
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | |             QUEST_BOARD_SIZE
[INFO] [stdout] 52 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/quests.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 | /             sqlx::query!(
[INFO] [stdout] 68 | |                 "INSERT INTO player_quests (user_id, quest_id, status) VALUES ($1, $2, 'Offered')",
[INFO] [stdout] 69 | |                 user_id_i64,
[INFO] [stdout] 70 | |                 quest.quest_id
[INFO] [stdout] 71 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/quests.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 |       let details_list = sqlx::query_as!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 89 | |         QuestDetails,
[INFO] [stdout] 90 | |         r#"SELECT pq.player_quest_id, pq.status as "status: _", q.title, q.description,
[INFO] [stdout] 91 | |             COALESCE(q.giver_name,'Unknown') AS "giver_name!",
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |         status as _
[INFO] [stdout] 98 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:336:17
[INFO] [stdout]     |
[INFO] [stdout] 336 |       let owned = sqlx::query_scalar!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 337 | |         "SELECT 1 FROM player_units WHERE player_unit_id = $1 AND user_id = $2",
[INFO] [stdout] 338 | |         host_player_unit_id,
[INFO] [stdout] 339 | |         user_id.get() as i64
[INFO] [stdout] 340 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/quests.rs:105:23
[INFO] [stdout]     |
[INFO] [stdout] 105 |   ...   let rewards = sqlx::query_as!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 106 | | ...       QuestReward,
[INFO] [stdout] 107 | | ...       "SELECT quest_reward_id, quest_id, reward_coins, reward_item_id, reward_item_quantity FROM quest_rewards WHERE quest_id = (SELE...
[INFO] [stdout] 108 | | ...       details.player_quest_id
[INFO] [stdout] 109 | | ...   )
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:347:19
[INFO] [stdout]     |
[INFO] [stdout] 347 | ... = sqlx::query!("UPDATE equippable_unit_bonds SET is_equipped = FALSE WHERE host_player_unit_id = $1 AND is_equipped = TRUE", host_player_unit_id)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/quests.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 | ... = sqlx::query_as!(AcceptedQuest, r#"UPDATE player_quests pq S..."#, player_quest_id, user_id_i64)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/quests.rs:143:23
[INFO] [stdout]     |
[INFO] [stdout] 143 |           let rewards = sqlx::query_as!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 144 | |             QuestReward,
[INFO] [stdout] 145 | |             "SELECT * FROM quest_rewards WHERE quest_id = $1",
[INFO] [stdout] 146 | |             id
[INFO] [stdout] 147 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/quests.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         sqlx::query!("UPDATE player_quests SET status = 'Completed', completed_at = NOW() WHERE player_quest_id = $1", player_quest_id)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/quests.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     sqlx::query_scalar!("SELECT q.title FROM quests q JOIN player_quests pq ON q.quest_id = pq.quest_id WHERE pq.player_quest_id = $1", player_quest_id).fe...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/quests.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 | /     sqlx::query_as!(
[INFO] [stdout] 200 | |         PlayerQuest,
[INFO] [stdout] 201 | |         r#"
[INFO] [stdout] 202 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 207 | |         player_quest_id
[INFO] [stdout] 208 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/saga.rs:21:27
[INFO] [stdout]    |
[INFO] [stdout] 21 |       let completed_units = sqlx::query_as!(
[INFO] [stdout]    |  ___________________________^
[INFO] [stdout] 22 | |         PlayerUnit,
[INFO] [stdout] 23 | |         r#"SELECT 
[INFO] [stdout] 24 | |         pu.player_unit_id, pu.user_id, pu.unit_id, pu.nickname, pu.current_level, pu.current_xp,
[INFO] [stdout] ...  |
[INFO] [stdout] 30 | |         now
[INFO] [stdout] 31 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:362:16
[INFO] [stdout]     |
[INFO] [stdout] 362 |       let rows = sqlx::query!(r#"SELECT b.host_player_unit_id,
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 363 | |             eu.current_attack as equipped_attack, eu.current_defense as equipped_defense, eu.current_health as equipped_health,
[INFO] [stdout] 364 | |             eu.current_level as equipped_level, eu.rarity as "equipped_rarity: UnitRarity"
[INFO] [stdout] 365 | |         FROM equippable_unit_bonds b
[INFO] [stdout] 366 | |         JOIN player_units eu ON eu.player_unit_id = b.equipped_player_unit_id
[INFO] [stdout] 367 | |         WHERE eu.user_id = $1 AND b.is_equipped = TRUE"#, user_id.get() as i64).fetch_all(pool).await?;
[INFO] [stdout]     | |_______________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/saga.rs:62:55
[INFO] [stdout]    |
[INFO] [stdout] 62 |       let mut initial_profile = if let Some(inserted) = sqlx::query_as!(
[INFO] [stdout]    |  _______________________________________________________^
[INFO] [stdout] 63 | |         SagaProfile,
[INFO] [stdout] 64 | |         "INSERT INTO player_saga_profile (user_id) VALUES ($1) ON CONFLICT (user_id) DO NOTHING RETURNING current_ap, max_ap, current_tp,...
[INFO] [stdout] 65 | |         user_id_i64
[INFO] [stdout] 66 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:401:25
[INFO] [stdout]     |
[INFO] [stdout] 401 | ... = sqlx::query!("UPDATE player_saga_profile SET current_tp = current_tp - $1 WHERE user_id = $2 AND current_tp >= $1", amount, user_id_i64).ex...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/saga.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | / ...   sqlx::query_as!(
[INFO] [stdout] 72 | | ...       SagaProfile,
[INFO] [stdout] 73 | | ...       "SELECT current_ap, max_ap, current_tp, max_tp, last_tp_update, story_progress FROM player_saga_profile WHERE user_id = $1 FOR ...
[INFO] [stdout] 74 | | ...       user_id_i64
[INFO] [stdout] 75 | | ...   )
[INFO] [stdout]    | |_______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/saga.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 |   ...   let adjusted = sqlx::query_as!(
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 88 | | ...       SagaProfile,
[INFO] [stdout] 89 | | ...       "UPDATE player_saga_profile SET current_ap = 4, max_ap = 4, current_tp = 10, max_tp = 10 WHERE user_id = $1 RETURNING current_a...
[INFO] [stdout] 90 | | ...       user_id_i64
[INFO] [stdout] 91 | | ...   )
[INFO] [stdout]    | |_______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/saga.rs:106:31
[INFO] [stdout]     |
[INFO] [stdout] 106 | ... = sqlx::query_as!(SagaProfile, "UPDATE player_saga_profile SET current_tp = $1, current_ap = $2, last_tp_update = $3 WHERE user_id = $4 RETURNING current_ap, max_ap, current_tp, max_tp, last_tp_update, story_progress", calculated_tp, calculated_ap, now, user_id_i64).fe...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/saga.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |       let units = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 124 | |         PlayerUnit,
[INFO] [stdout] 125 | |         r#"SELECT
[INFO] [stdout] 126 | |         pu.player_unit_id, pu.user_id, pu.unit_id, pu.nickname, pu.current_level, pu.current_xp,
[INFO] [stdout] ...   |
[INFO] [stdout] 132 | |         user_id.get() as i64
[INFO] [stdout] 133 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/saga.rs:146:25
[INFO] [stdout]     |
[INFO] [stdout] 146 | ... = sqlx::query!("UPDATE player_saga_profile SET current_ap = current_ap - $1 WHERE user_id = $2 AND current_ap >= $1", amount, user_id_i64).ex...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/saga.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     sqlx::query!("UPDATE player_saga_profile SET story_progress = $1 WHERE user_id = $2 AND story_progress < $1", new_progress, user_id_i64).ex...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]  --> src/database/settings.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let row = sqlx::query!("SELECT value FROM bot_config WHERE key = $1", key)
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/settings.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     sqlx::query!("INSERT INTO bot_config (key, value) VALUES ($1, $2) ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value", key, value)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:421:25
[INFO] [stdout]     |
[INFO] [stdout] 421 | ... = sqlx::query!("UPDATE player_units SET is_training = TRUE, training_stat = $1, training_ends_at = $2 WHERE player_unit_id = $3 AND user_id = $4", stat_to_train, training_ends, player_unit_id, user_id_i64).ex...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tasks.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |           let new_tasks = sqlx::query_as!(
[INFO] [stdout]    |  _________________________^
[INFO] [stdout] 31 | |             Task,
[INFO] [stdout] 32 | |             r#"SELECT task_id, task_type as "task_type: _", title, description,
[INFO] [stdout] 33 | |                     objective_key, objective_goal,
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |             limit
[INFO] [stdout] 38 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tasks.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 | /             sqlx::query!(
[INFO] [stdout] 57 | |                 "INSERT INTO player_tasks (user_id, task_id) VALUES ($1, $2)",
[INFO] [stdout] 58 | |                 user_id,
[INFO] [stdout] 59 | |                 task.task_id
[INFO] [stdout] 60 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tasks.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |       let tasks = sqlx::query_as!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 77 | |         PlayerTaskDetails,
[INFO] [stdout] 78 | |         r#"SELECT
[INFO] [stdout] 79 | |             pt.player_task_id, pt.progress, pt.is_completed, t.task_type as "task_type: _",
[INFO] [stdout] ...  |
[INFO] [stdout] 88 | |         user_id_i64
[INFO] [stdout] 89 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/tasks.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | /     sqlx::query!(
[INFO] [stdout] 104 | |         r#"
[INFO] [stdout] 105 | |         WITH updated AS (
[INFO] [stdout] 106 | |             UPDATE player_tasks pt SET progress = LEAST(t.objective_goal, pt.progress + $3)
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |         increment_by
[INFO] [stdout] 118 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/tasks.rs:131:25
[INFO] [stdout]     |
[INFO] [stdout] 131 |       let task_to_claim = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 132 | |         r#"SELECT t.reward_coins, t.reward_item_id, t.reward_item_quantity
[INFO] [stdout] 133 | |         FROM player_tasks pt JOIN tasks t ON pt.task_id = t.task_id
[INFO] [stdout] 134 | |         WHERE pt.player_task_id = $1 AND pt.user_id = $2
[INFO] [stdout] ...   |
[INFO] [stdout] 137 | |         user_id_i64
[INFO] [stdout] 138 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/tasks.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 | /         sqlx::query!(
[INFO] [stdout] 158 | |             "UPDATE player_tasks SET claimed_at = NOW() WHERE player_task_id = $1",
[INFO] [stdout] 159 | |             player_task_id
[INFO] [stdout] 160 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:442:28
[INFO] [stdout]     |
[INFO] [stdout] 442 | ... = sqlx::query!("SELECT u.kind::text as kind_text, pu.rarity as \"rarity: UnitRarity\" FROM player_units pu JOIN units u ON u.unit_id = pu.unit_id WHERE pu.player_unit_id = $1 AND pu.user_id = $2", player_unit_id, user_id_i64).fe...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tavern.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |       let rec = sqlx::query!(
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 12 | |         "SELECT fame, daily_rerolls, last_reroll FROM tavern_fame WHERE user_id=$1",
[INFO] [stdout] 13 | |         uid
[INFO] [stdout] 14 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:452:31
[INFO] [stdout]     |
[INFO] [stdout] 452 |           let party_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 453 | |             "SELECT COUNT(*) FROM player_units WHERE user_id = $1 AND is_in_party = TRUE",
[INFO] [stdout] 454 | |             user_id_i64
[INFO] [stdout] 455 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:464:25
[INFO] [stdout]     |
[INFO] [stdout] 464 |       let rows_affected = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 465 | |         "UPDATE player_units SET is_in_party = $1 WHERE player_unit_id = $2 AND user_id = $3",
[INFO] [stdout] 466 | |         is_in_party,
[INFO] [stdout] 467 | |         player_unit_id,
[INFO] [stdout] 468 | |         user_id_i64
[INFO] [stdout] 469 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tavern.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | /     sqlx::query!(
[INFO] [stdout] 21 | |         "INSERT INTO tavern_fame (user_id) VALUES ($1) ON CONFLICT DO NOTHING",
[INFO] [stdout] 22 | |         uid
[INFO] [stdout] 23 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tavern.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     sqlx::query!("INSERT INTO tavern_fame (user_id,fame) VALUES ($1,$2) ON CONFLICT (user_id) DO UPDATE SET fame = tavern_fame.fame + $2", uid, amount)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:492:15
[INFO] [stdout]     |
[INFO] [stdout] 492 | ... = sqlx::query!("INSERT INTO unit_research_progress (user_id, unit_id, tamed_count) VALUES ($1,$2,1) ON CONFLICT (user_id, unit_id) DO UPDATE SET tamed_count = unit_research_progress.tamed_count + 1, last_updated = NOW() RETURNING tamed_count", user_id_i64, unit_id).fe...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tavern.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 | ... = sqlx::query!("SELECT daily_rerolls, COALESCE(last_reroll::date, CURRENT_DATE - INTERVAL '1 day') as d FROM tavern_fame WHERE user_id=$1", uid)
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:503:8
[INFO] [stdout]     |
[INFO] [stdout] 503 |       Ok(sqlx::query_scalar!(
[INFO] [stdout]     |  ________^
[INFO] [stdout] 504 | |         "SELECT tamed_count FROM unit_research_progress WHERE user_id = $1 AND unit_id = $2",
[INFO] [stdout] 505 | |         user_id_i64,
[INFO] [stdout] 506 | |         unit_id
[INFO] [stdout] 507 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tavern.rs:59:22
[INFO] [stdout]    |
[INFO] [stdout] 59 |       if let Some(r) = sqlx::query!(
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 60 | |         "SELECT rotation, day FROM tavern_user_rotation WHERE user_id=$1",
[INFO] [stdout] 61 | |         uid
[INFO] [stdout] 62 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:520:16
[INFO] [stdout]     |
[INFO] [stdout] 520 |       let rows = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 521 | |         "SELECT unit_id, tamed_count FROM unit_research_progress WHERE user_id = $1",
[INFO] [stdout] 522 | |         user_id_i64
[INFO] [stdout] 523 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/tavern.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     sqlx::query!("INSERT INTO tavern_user_rotation (user_id, rotation, day) VALUES ($1,$2,$3) ON CONFLICT (user_id) DO UPDATE SET rotation = EXCLUDED.rotation, day=EXCLUDED.day, generated_at = NOW()", uid, &global_daily, today)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:573:19
[INFO] [stdout]     |
[INFO] [stdout] 573 |       let updated = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 574 | |         "UPDATE units SET kind = 'Human' WHERE unit_id = ANY($1)",
[INFO] [stdout] 575 | |         unit_ids
[INFO] [stdout] 576 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/units.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | /     sqlx::query_as!(
[INFO] [stdout] 27 | |         PlayerUnit,
[INFO] [stdout] 28 | |         r#"SELECT
[INFO] [stdout] 29 | |         pu.player_unit_id, pu.user_id, pu.unit_id, pu.nickname, pu.current_level, pu.current_xp,
[INFO] [stdout] ...  |
[INFO] [stdout] 35 | |         user_id_i64
[INFO] [stdout] 36 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:606:13
[INFO] [stdout]     |
[INFO] [stdout] 606 | ...   sqlx::query!("UPDATE player_units SET current_...evel_result.stat_gains.2, unit.player_unit_id).ex...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/units.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     sqlx::query_as!(
[INFO] [stdout] 48 | |         PlayerUnit,
[INFO] [stdout] 49 | |         r#"SELECT
[INFO] [stdout] 50 | |         pu.player_unit_id, pu.user_id, pu.unit_id, pu.nickname, pu.current_level, pu.current_xp,
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |         user_id_i64
[INFO] [stdout] 57 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/units.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     sqlx::query_as!(Unit, "SELECT unit_id, name, description, base_attack, base_defense, base_health, is_recruitable, kind as \"kind: UnitKind\", rarity as \"rarity: UnitRarity\" FROM units WHERE unit_id = ANY($1)", unit_ids)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:608:13
[INFO] [stdout]     |
[INFO] [stdout] 608 | /             sqlx::query!(
[INFO] [stdout] 609 | |                 "UPDATE player_units SET current_xp = $1 WHERE player_unit_id = $2",
[INFO] [stdout] 610 | |                 level_result.new_xp,
[INFO] [stdout] 611 | |                 unit.player_unit_id
[INFO] [stdout] 612 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/units.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     sqlx::query_as!(Unit, "SELECT unit_id, name, description, base_attack, base_defense, base_health, is_recruitable, kind as \"kind: UnitKind\", rarity as \"rarity: UnitRarity\" FROM units ORDER BY unit_id")
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/database/units.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |       let count = sqlx::query_scalar!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 84 | |         "SELECT quantity FROM inventories WHERE user_id = $1 AND item_id = $2",
[INFO] [stdout] 85 | |         user_id_i64,
[INFO] [stdout] 86 | |         lure_item_id
[INFO] [stdout] 87 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     sqlx::query!("SELECT pg_advisory_xact_lock($1)", user_id_i64)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 | ... = sqlx::query_as!(Profile, "SELECT balance, last_work, work_streak, fishing_xp, fishing_level, mining_xp, mining_level, coding_xp, coding_level FROM profiles WHERE user_id = $1 FOR UPDATE", user_id_i64).fe...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:113:26
[INFO] [stdout]     |
[INFO] [stdout] 113 |       let army_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 114 | |         "SELECT COUNT(*) FROM player_units WHERE user_id = $1",
[INFO] [stdout] 115 | |         user_id_i64
[INFO] [stdout] 116 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 | ... = sqlx::query_as!(Unit, "SELECT unit_id, name, description, base_attack, base_defense, base_health, is_recruitable, kind as \"kind: UnitKind\", rarity as \"rarity: UnitRarity\" FROM units WHERE unit_id = $1", unit_id)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |           let party_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 141 | |             "SELECT COUNT(*) FROM player_units WHERE user_id = $1 AND is_in_party = TRUE",
[INFO] [stdout] 142 | |             user_id_i64
[INFO] [stdout] 143 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     sqlx::query!("INSERT INTO player_units (...r.base_health, unit_master.rarity as _, is_in_party).ex...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:629:25
[INFO] [stdout]     |
[INFO] [stdout] 629 |       let rows_affected = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 630 | |         "DELETE FROM player_units WHERE player_unit_id = $1 AND user_id = $2",
[INFO] [stdout] 631 | |         player_unit_id,
[INFO] [stdout] 632 | |         user_id_i64
[INFO] [stdout] 633 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:659:16
[INFO] [stdout]     |
[INFO] [stdout] 659 | ... = sqlx::query!("SELECT pu.player_unit_id, pu.rarity::text as rarity_text, pu.is_in_party, u.kind::text as host_kind FROM player_units pu JOIN units u ON u.unit_id = pu.unit_id WHERE pu.player_unit_id = $1 AND pu.user_id = $2 FOR UPDATE", host_player_unit_id, user_id_i64)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     sqlx::query!("SELECT pg_advisory_xact_lock($1)", user_id_i64)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:663:20
[INFO] [stdout]     |
[INFO] [stdout] 663 | ... = sqlx::query!("SELECT pu.player_unit_id, pu.rarity::text as rarity_text, pu.is_in_party, u.kind::text as eq_kind FROM player_units pu JOIN units u ON u.unit_id = pu.unit_id WHERE pu.player_unit_id = $1 AND pu.user_id = $2 FOR UPDATE", equipped_player_unit_id, user_id_i64)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:172:23
[INFO] [stdout]     |
[INFO] [stdout] 172 | ... = sqlx::query_as!(Unit, "SELECT unit_id, name, description, base_attack, base_defense, base_health, is_recruitable, kind as \"kind: UnitKind\", rarity as \"rarity: UnitRarity\" FROM units WHERE unit_id = $1", unit_id_to_recruit)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:691:20
[INFO] [stdout]     |
[INFO] [stdout] 691 |       let host_has = sqlx::query_scalar!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 692 | |         "SELECT 1 FROM equippable_unit_bonds WHERE host_player_unit_id = $1",
[INFO] [stdout] 693 | |         host_player_unit_id
[INFO] [stdout] 694 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 |           let army_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 197 | |             "SELECT COUNT(*) FROM player_units WHERE user_id = $1",
[INFO] [stdout] 198 | |             user_id_i64
[INFO] [stdout] 199 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:702:25
[INFO] [stdout]     |
[INFO] [stdout] 702 |       let equipped_used = sqlx::query_scalar!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 703 | |         "SELECT 1 FROM equippable_unit_bonds WHERE equipped_player_unit_id = $1",
[INFO] [stdout] 704 | |         equipped_player_unit_id
[INFO] [stdout] 705 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:714:5
[INFO] [stdout]     |
[INFO] [stdout] 714 |     sqlx::query!("INSERT INTO equippable_unit_bonds (host_player_unit_id, equipped_player_unit_id, is_equipped) VALUES ($1,$2, TRUE)", host_player_unit_id, equipped_player_unit_id)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:718:5
[INFO] [stdout]     |
[INFO] [stdout] 718 | /     sqlx::query!(
[INFO] [stdout] 719 | |         "UPDATE player_units SET is_in_party = FALSE WHERE player_unit_id = $1",
[INFO] [stdout] 720 | |         equipped_player_unit_id
[INFO] [stdout] 721 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     sqlx::query!("INSERT INTO player_units (...e, unit_master.base_health, unit_master.rarity as _).ex...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:738:5
[INFO] [stdout]     |
[INFO] [stdout] 738 | /     sqlx::query_as!(crate::database::models::EquippableUnitBond,
[INFO] [stdout] 739 | |         "SELECT bond_id, host_player_unit_id, equipped_player_unit_id, created_at, is_equipped FROM equippable_unit_bonds WHERE host_player_uni...
[INFO] [stdout] 740 | |         user_id.get() as i64
[INFO] [stdout] 741 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:766:16
[INFO] [stdout]     |
[INFO] [stdout] 766 |       let rows = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 767 | |         r#"SELECT b.bond_id, b.host_player_unit_id, b.equipped_player_unit_id,
[INFO] [stdout] 768 | |             COALESCE(pu.nickname, u.name) as equipped_name,
[INFO] [stdout] 769 | |             pu.current_attack, pu.current_defense, pu.current_health, pu.current_level,
[INFO] [stdout] ...   |
[INFO] [stdout] 775 | |         user_id.get() as i64
[INFO] [stdout] 776 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:260:16
[INFO] [stdout]     |
[INFO] [stdout] 260 |       let host = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 261 | |         "SELECT player_unit_id, rarity::text as rarity_text FROM player_units WHERE player_unit_id = $1 AND user_id = $2 FOR UPDATE",
[INFO] [stdout] 262 | |         host_player_unit_id,
[INFO] [stdout] 263 | |         user_id_i64
[INFO] [stdout] 264 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:268:20
[INFO] [stdout]     |
[INFO] [stdout] 268 |       let equipped = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 269 | |         "SELECT player_unit_id, rarity::text as rarity_text, is_in_party FROM player_units WHERE player_unit_id = $1 AND user_id = $2 FOR...
[INFO] [stdout] 270 | |         equipped_player_unit_id,
[INFO] [stdout] 271 | |         user_id_i64
[INFO] [stdout] 272 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:292:20
[INFO] [stdout]     |
[INFO] [stdout] 292 |       let host_has = sqlx::query_scalar!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 293 | |         "SELECT 1 FROM equippable_unit_bonds WHERE host_player_unit_id = $1",
[INFO] [stdout] 294 | |         host_player_unit_id
[INFO] [stdout] 295 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:303:25
[INFO] [stdout]     |
[INFO] [stdout] 303 |       let equipped_used = sqlx::query_scalar!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 304 | |         "SELECT 1 FROM equippable_unit_bonds WHERE equipped_player_unit_id = $1",
[INFO] [stdout] 305 | |         equipped_player_unit_id
[INFO] [stdout] 306 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 314 |     sqlx::query!("INSERT INTO equippable_unit_bonds (host_player_unit_id, equipped_player_unit_id, is_equipped) VALUES ($1,$2, TRUE)", host_player_unit_id, equipped_player_unit_id)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | /     sqlx::query!(
[INFO] [stdout] 319 | |         "UPDATE player_units SET is_in_party = FALSE WHERE player_unit_id = $1",
[INFO] [stdout] 320 | |         equipped_player_unit_id
[INFO] [stdout] 321 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:336:17
[INFO] [stdout]     |
[INFO] [stdout] 336 |       let owned = sqlx::query_scalar!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 337 | |         "SELECT 1 FROM player_units WHERE player_unit_id = $1 AND user_id = $2",
[INFO] [stdout] 338 | |         host_player_unit_id,
[INFO] [stdout] 339 | |         user_id.get() as i64
[INFO] [stdout] 340 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:347:19
[INFO] [stdout]     |
[INFO] [stdout] 347 | ... = sqlx::query!("UPDATE equippable_unit_bonds SET is_equipped = FALSE WHERE host_player_unit_id = $1 AND is_equipped = TRUE", host_player_unit_id)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:362:16
[INFO] [stdout]     |
[INFO] [stdout] 362 |       let rows = sqlx::query!(r#"SELECT b.host_player_unit_id,
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 363 | |             eu.current_attack as equipped_attack, eu.current_defense as equipped_defense, eu.current_health as equipped_health,
[INFO] [stdout] 364 | |             eu.current_level as equipped_level, eu.rarity as "equipped_rarity: UnitRarity"
[INFO] [stdout] 365 | |         FROM equippable_unit_bonds b
[INFO] [stdout] 366 | |         JOIN player_units eu ON eu.player_unit_id = b.equipped_player_unit_id
[INFO] [stdout] 367 | |         WHERE eu.user_id = $1 AND b.is_equipped = TRUE"#, user_id.get() as i64).fetch_all(pool).await?;
[INFO] [stdout]     | |_______________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:401:25
[INFO] [stdout]     |
[INFO] [stdout] 401 | ... = sqlx::query!("UPDATE player_saga_profile SET current_tp = current_tp - $1 WHERE user_id = $2 AND current_tp >= $1", amount, user_id_i64).ex...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:421:25
[INFO] [stdout]     |
[INFO] [stdout] 421 | ... = sqlx::query!("UPDATE player_units SET is_training = TRUE, training_stat = $1, training_ends_at = $2 WHERE player_unit_id = $3 AND user_id = $4", stat_to_train, training_ends, player_unit_id, user_id_i64).ex...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:442:28
[INFO] [stdout]     |
[INFO] [stdout] 442 | ... = sqlx::query!("SELECT u.kind::text as kind_text, pu.rarity as \"rarity: UnitRarity\" FROM player_units pu JOIN units u ON u.unit_id = pu.unit_id WHERE pu.player_unit_id = $1 AND pu.user_id = $2", player_unit_id, user_id_i64).fe...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:452:31
[INFO] [stdout]     |
[INFO] [stdout] 452 |           let party_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 453 | |             "SELECT COUNT(*) FROM player_units WHERE user_id = $1 AND is_in_party = TRUE",
[INFO] [stdout] 454 | |             user_id_i64
[INFO] [stdout] 455 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:464:25
[INFO] [stdout]     |
[INFO] [stdout] 464 |       let rows_affected = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 465 | |         "UPDATE player_units SET is_in_party = $1 WHERE player_unit_id = $2 AND user_id = $3",
[INFO] [stdout] 466 | |         is_in_party,
[INFO] [stdout] 467 | |         player_unit_id,
[INFO] [stdout] 468 | |         user_id_i64
[INFO] [stdout] 469 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:492:15
[INFO] [stdout]     |
[INFO] [stdout] 492 | ... = sqlx::query!("INSERT INTO unit_research_progress (user_id, unit_id, tamed_count) VALUES ($1,$2,1) ON CONFLICT (user_id, unit_id) DO UPDATE SET tamed_count = unit_research_progress.tamed_count + 1, last_updated = NOW() RETURNING tamed_count", user_id_i64, unit_id).fe...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:503:8
[INFO] [stdout]     |
[INFO] [stdout] 503 |       Ok(sqlx::query_scalar!(
[INFO] [stdout]     |  ________^
[INFO] [stdout] 504 | |         "SELECT tamed_count FROM unit_research_progress WHERE user_id = $1 AND unit_id = $2",
[INFO] [stdout] 505 | |         user_id_i64,
[INFO] [stdout] 506 | |         unit_id
[INFO] [stdout] 507 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:520:16
[INFO] [stdout]     |
[INFO] [stdout] 520 |       let rows = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 521 | |         "SELECT unit_id, tamed_count FROM unit_research_progress WHERE user_id = $1",
[INFO] [stdout] 522 | |         user_id_i64
[INFO] [stdout] 523 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:573:19
[INFO] [stdout]     |
[INFO] [stdout] 573 |       let updated = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 574 | |         "UPDATE units SET kind = 'Human' WHERE unit_id = ANY($1)",
[INFO] [stdout] 575 | |         unit_ids
[INFO] [stdout] 576 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:606:13
[INFO] [stdout]     |
[INFO] [stdout] 606 | ...   sqlx::query!("UPDATE player_units SET current_...evel_result.stat_gains.2, unit.player_unit_id).ex...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:608:13
[INFO] [stdout]     |
[INFO] [stdout] 608 | /             sqlx::query!(
[INFO] [stdout] 609 | |                 "UPDATE player_units SET current_xp = $1 WHERE player_unit_id = $2",
[INFO] [stdout] 610 | |                 level_result.new_xp,
[INFO] [stdout] 611 | |                 unit.player_unit_id
[INFO] [stdout] 612 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:629:25
[INFO] [stdout]     |
[INFO] [stdout] 629 |       let rows_affected = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 630 | |         "DELETE FROM player_units WHERE player_unit_id = $1 AND user_id = $2",
[INFO] [stdout] 631 | |         player_unit_id,
[INFO] [stdout] 632 | |         user_id_i64
[INFO] [stdout] 633 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:659:16
[INFO] [stdout]     |
[INFO] [stdout] 659 | ... = sqlx::query!("SELECT pu.player_unit_id, pu.rarity::text as rarity_text, pu.is_in_party, u.kind::text as host_kind FROM player_units pu JOIN units u ON u.unit_id = pu.unit_id WHERE pu.player_unit_id = $1 AND pu.user_id = $2 FOR UPDATE", host_player_unit_id, user_id_i64)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:663:20
[INFO] [stdout]     |
[INFO] [stdout] 663 | ... = sqlx::query!("SELECT pu.player_unit_id, pu.rarity::text as rarity_text, pu.is_in_party, u.kind::text as eq_kind FROM player_units pu JOIN units u ON u.unit_id = pu.unit_id WHERE pu.player_unit_id = $1 AND pu.user_id = $2 FOR UPDATE", equipped_player_unit_id, user_id_i64)
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:691:20
[INFO] [stdout]     |
[INFO] [stdout] 691 |       let host_has = sqlx::query_scalar!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 692 | |         "SELECT 1 FROM equippable_unit_bonds WHERE host_player_unit_id = $1",
[INFO] [stdout] 693 | |         host_player_unit_id
[INFO] [stdout] 694 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:702:25
[INFO] [stdout]     |
[INFO] [stdout] 702 |       let equipped_used = sqlx::query_scalar!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 703 | |         "SELECT 1 FROM equippable_unit_bonds WHERE equipped_player_unit_id = $1",
[INFO] [stdout] 704 | |         equipped_player_unit_id
[INFO] [stdout] 705 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:714:5
[INFO] [stdout]     |
[INFO] [stdout] 714 |     sqlx::query!("INSERT INTO equippable_unit_bonds (host_player_unit_id, equipped_player_unit_id, is_equipped) VALUES ($1,$2, TRUE)", host_player_unit_id, equipped_player_unit_id)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:718:5
[INFO] [stdout]     |
[INFO] [stdout] 718 | /     sqlx::query!(
[INFO] [stdout] 719 | |         "UPDATE player_units SET is_in_party = FALSE WHERE player_unit_id = $1",
[INFO] [stdout] 720 | |         equipped_player_unit_id
[INFO] [stdout] 721 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:738:5
[INFO] [stdout]     |
[INFO] [stdout] 738 | /     sqlx::query_as!(crate::database::models::EquippableUnitBond,
[INFO] [stdout] 739 | |         "SELECT bond_id, host_player_unit_id, equipped_player_unit_id, created_at, is_equipped FROM equippable_unit_bonds WHERE host_player_uni...
[INFO] [stdout] 740 | |         user_id.get() as i64
[INFO] [stdout] 741 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/database/units.rs:766:16
[INFO] [stdout]     |
[INFO] [stdout] 766 |       let rows = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 767 | |         r#"SELECT b.bond_id, b.host_player_unit_id, b.equipped_player_unit_id,
[INFO] [stdout] 768 | |             COALESCE(pu.nickname, u.name) as equipped_name,
[INFO] [stdout] 769 | |             pu.current_attack, pu.current_defense, pu.current_health, pu.current_level,
[INFO] [stdout] ...   |
[INFO] [stdout] 775 | |         user_id.get() as i64
[INFO] [stdout] 776 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/interactions/saga_handler.rs:772:43
[INFO] [stdout]     |
[INFO] [stdout] 772 | ...ent = sqlx::query!("SELECT current_ap, max_ap, current_tp, max_tp FROM player_saga_profile WHERE user_id = $1 FOR UPDATE", uid).fetch_...
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/interactions/saga_handler.rs:796:49
[INFO] [stdout]     |
[INFO] [stdout] 796 | ...r(e) = sqlx::query!("UPDATE player_saga_profile SET current_ap = $1, current_tp = $2 WHERE user_id = $3", new_ap, new_tp, uid).execute...
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]     --> src/interactions/saga_handler.rs:2445:37
[INFO] [stdout]      |
[INFO] [stdout] 2445 | ... = sqlx::query!("INSERT INTO player_units (user_id, unit_id, nickname, c...ser_id_i64, starter_id).ex...
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/interactions/saga_handler.rs:772:43
[INFO] [stdout]     |
[INFO] [stdout] 772 | ...ent = sqlx::query!("SELECT current_ap, max_ap, current_tp, max_tp FROM player_saga_profile WHERE user_id = $1 FOR UPDATE", uid).fetch_...
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/interactions/saga_handler.rs:796:49
[INFO] [stdout]     |
[INFO] [stdout] 796 | ...r(e) = sqlx::query!("UPDATE player_saga_profile SET current_ap = $1, current_tp = $2 WHERE user_id = $3", new_ap, new_tp, uid).execute...
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]     --> src/interactions/saga_handler.rs:2445:37
[INFO] [stdout]      |
[INFO] [stdout] 2445 | ... = sqlx::query!("INSERT INTO player_units (user_id, unit_id, nickname, c...ser_id_i64, starter_id).ex...
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Quest`
[INFO] [stdout]  --> src/database/quests.rs:3:53
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::models::{PlayerQuest, PlayerQuestStatus, Quest, QuestDetails, QuestReward, QuestType};
[INFO] [stdout]   |                                                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnitRarity`
[INFO] [stdout]  --> src/database/saga.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::models::{PlayerUnit, SagaProfile, UnitRarity};
[INFO] [stdout]   |                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Task`
[INFO] [stdout]  --> src/database/tasks.rs:3:40
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::models::{PlayerTaskDetails, Task, TaskType};
[INFO] [stdout]   |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Quest`
[INFO] [stdout]  --> src/database/quests.rs:3:53
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::models::{PlayerQuest, PlayerQuestStatus, Quest, QuestDetails, QuestReward, QuestType};
[INFO] [stdout]   |                                                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnitRarity`
[INFO] [stdout]  --> src/database/saga.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::models::{PlayerUnit, SagaProfile, UnitRarity};
[INFO] [stdout]   |                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Task`
[INFO] [stdout]  --> src/database/tasks.rs:3:40
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::models::{PlayerTaskDetails, Task, TaskType};
[INFO] [stdout]   |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/commands/party/ui.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |       let units = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 202 | |         crate::database::models::PlayerUnit,
[INFO] [stdout] 203 | |         r#"SELECT
[INFO] [stdout] 204 | |         pu.player_unit_id, pu.user_id, pu.unit_id, pu.nickname, pu.current_level, pu.current_xp,
[INFO] [stdout] ...   |
[INFO] [stdout] 211 | |     .fetch_all(pool)
[INFO] [stdout] 212 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/crafting.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |       let recipe = sqlx::query_as!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 38 | |         Recipe,
[INFO] [stdout] 39 | |         "SELECT * FROM recipes WHERE recipe_id = $1",
[INFO] [stdout] 40 | |         recipe_id
[INFO] [stdout] 41 | |     )
[INFO] [stdout] 42 | |     .fetch_one(&mut *tx)
[INFO] [stdout] 43 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/economy.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | /     sqlx::query!(
[INFO] [stdout] 52 | |         "UPDATE profiles SET balance = balance + $2 WHERE user_id = $1 AND balance + $2 >= 0",
[INFO] [stdout] 53 | |         user_id_i64,
[INFO] [stdout] 54 | |         delta
[INFO] [stdout] 55 | |     )
[INFO] [stdout] 56 | |     .execute(&mut **tx)
[INFO] [stdout] 57 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/economy.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 |     .and_then(|res| {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 59 |         if res.rows_affected() == 1 {
[INFO] [stdout]    |            --- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 58 |     .and_then(|res: /* Type */| {
[INFO] [stdout]    |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/economy.rs:94:9
[INFO] [stdout]     |
[INFO] [stdout]  94 | /         sqlx::query!(
[INFO] [stdout]  95 | |             "UPDATE inventories SET quantity = quantity + $3 WHERE user_id = $1 AND item_id = $2 AND quantity + $3 >= 0",
[INFO] [stdout]  96 | |             user_id_i64,
[INFO] [stdout]  97 | |             item_id_i32,
[INFO] [stdout] ...   |
[INFO] [stdout] 100 | |         .execute(&mut **tx)
[INFO] [stdout] 101 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/economy.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 |         .and_then(|res| if res.rows_affected() == 1 { Ok(()) } else { Err(sqlx::Error::RowNotFound) })
[INFO] [stdout]     |                    ^^^     --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 102 |         .and_then(|res: /* Type */| if res.rows_affected() == 1 { Ok(()) } else { Err(sqlx::Error::RowNotFound) })
[INFO] [stdout]     |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/human.rs:89:16
[INFO] [stdout]    |
[INFO] [stdout] 89 |       let meta = sqlx::query!("SELECT u.unit_id, u.name, u.description, u.base_attack, u.base_defense, u.base_health, u.is_recruitable, u.k...
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 90 | |         .fetch_one(pool).await.map_err(|_| "Unit not found".to_string())?;
[INFO] [stdout]    | |______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:94:21
[INFO] [stdout]     |
[INFO] [stdout]  94 |       let encounter = sqlx::query!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout]  95 | |         "SELECT defeats FROM human_encounters WHERE user_id=$1 AND unit_id=$2",
[INFO] [stdout]  96 | |         uid,
[INFO] [stdout]  97 | |         unit_id
[INFO] [stdout]  98 | |     )
[INFO] [stdout]  99 | |     .fetch_optional(pool)
[INFO] [stdout] 100 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:107:26
[INFO] [stdout]     |
[INFO] [stdout] 107 |       let drafted_exists = sqlx::query_scalar!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 108 | |         "SELECT 1 FROM drafted_human_contracts WHERE user_id=$1 AND unit_id=$2 AND consumed=FALSE",
[INFO] [stdout] 109 | |         uid,
[INFO] [stdout] 110 | |         unit_id
[INFO] [stdout] 111 | |     )
[INFO] [stdout] 112 | |     .fetch_optional(pool)
[INFO] [stdout] 113 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:143:23
[INFO] [stdout]     |
[INFO] [stdout] 143 |           let inv_row = sqlx::query!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 144 | |             "SELECT quantity FROM inventories WHERE user_id=$1 AND item_id=$2 FOR UPDATE",
[INFO] [stdout] 145 | |             uid,
[INFO] [stdout] 146 | |             item as i32
[INFO] [stdout] 147 | |         )
[INFO] [stdout] 148 | |         .fetch_optional(&mut *tx)
[INFO] [stdout] 149 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | /         sqlx::query!(
[INFO] [stdout] 159 | |             "UPDATE inventories SET quantity = quantity - 1 WHERE user_id=$1 AND item_id=$2",
[INFO] [stdout] 160 | |             uid,
[INFO] [stdout] 161 | |             item as i32
[INFO] [stdout] 162 | |         )
[INFO] [stdout] 163 | |         .execute(&mut *tx)
[INFO] [stdout] 164 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 | /         sqlx::query!(
[INFO] [stdout] 167 | |             "INSERT INTO drafted_human_contracts (user_id, unit_id) VALUES ($1,$2)",
[INFO] [stdout] 168 | |             uid,
[INFO] [stdout] 169 | |             unit_id
[INFO] [stdout] 170 | |         )
[INFO] [stdout] 171 | |         .execute(&mut *tx)
[INFO] [stdout] 172 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 | /         sqlx::query!(
[INFO] [stdout] 177 | |             "INSERT INTO drafted_human_contracts (user_id, unit_id) VALUES ($1,$2)",
[INFO] [stdout] 178 | |             uid,
[INFO] [stdout] 179 | |             unit_id
[INFO] [stdout] 180 | |         )
[INFO] [stdout] 181 | |         .execute(pool)
[INFO] [stdout] 182 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:199:19
[INFO] [stdout]     |
[INFO] [stdout] 199 |       let drafted = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 200 | |         "SELECT 1 FROM drafted_human_contracts WHERE user_id=$1 AND unit_id=$2 AND consumed=FALSE",
[INFO] [stdout] 201 | |         uid,
[INFO] [stdout] 202 | |         unit_id
[INFO] [stdout] 203 | |     )
[INFO] [stdout] 204 | |     .fetch_optional(&mut *tx)
[INFO] [stdout] 205 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 |       let unit_master = sqlx::query!("SELECT unit_id, name, base_attack, base_defense, base_health, rarity as \"rarity: UnitRarity\", kind ...
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 214 | |         .fetch_one(&mut *tx).await.map_err(|_| "Unit not found".to_string())?;
[INFO] [stdout]     | |__________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:219:27
[INFO] [stdout]     |
[INFO] [stdout] 219 |       let party_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 220 | |         "SELECT COUNT(*) FROM player_units WHERE user_id=$1 AND is_in_party=TRUE",
[INFO] [stdout] 221 | |         uid
[INFO] [stdout] ...   |
[INFO] [stdout] 224 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 | /     sqlx::query!("INSERT INTO player_units (user_id, unit_id, nickname, current_attack, current_defense, current_health, rarity, is_in_pa...
[INFO] [stdout] 232 | |         .execute(&mut *tx).await.map_err(|_| "Insert failed".to_string())?;
[INFO] [stdout]     | |________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 | /     sqlx::query!(
[INFO] [stdout] 234 | |         "UPDATE drafted_human_contracts SET consumed=TRUE WHERE user_id=$1 AND unit_id=$2",
[INFO] [stdout] 235 | |         uid,
[INFO] [stdout] 236 | |         unit_id
[INFO] [stdout] 237 | |     )
[INFO] [stdout] 238 | |     .execute(&mut *tx)
[INFO] [stdout] 239 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/quests.rs:32:30
[INFO] [stdout]    |
[INFO] [stdout] 32 |       let offered_count: i64 = sqlx::query_scalar!(
[INFO] [stdout]    |  ______________________________^
[INFO] [stdout] 33 | |         "SELECT COUNT(*) FROM player_quests WHERE user_id = $1 AND status = 'Offered'",
[INFO] [stdout] 34 | |         user_id_i64
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |     .await?
[INFO] [stdout]    | |___________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:88:9
[INFO] [stdout]     |
[INFO] [stdout]  88 |     let details_list = sqlx::query_as!(
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     let mut full_entries = Vec::with_capacity(details_list.len());
[INFO] [stdout]     |                                               ------------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `details_list` an explicit type
[INFO] [stdout]     |
[INFO] [stdout]  88 |     let details_list: /* Type */ = sqlx::query_as!(
[INFO] [stdout]     |                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 |       let accepted_quest = sqlx::query_as!(AcceptedQuest, r#"UPDATE player_quests pq SET status = 'Accepted', accepted_at = NOW() FROM ques...
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 126 | |         .fetch_optional(pool).await.map_err(|e| e.to_string())?;
[INFO] [stdout]     | |___________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:126:46
[INFO] [stdout]     |
[INFO] [stdout] 126 |         .fetch_optional(pool).await.map_err(|e| e.to_string())?;
[INFO] [stdout]     |                                              ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 126 |         .fetch_optional(pool).await.map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:143:23
[INFO] [stdout]     |
[INFO] [stdout] 143 |           let rewards = sqlx::query_as!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 144 | |             QuestReward,
[INFO] [stdout] 145 | |             "SELECT * FROM quest_rewards WHERE quest_id = $1",
[INFO] [stdout] 146 | |             id
[INFO] [stdout] 147 | |         )
[INFO] [stdout] 148 | |         .fetch_all(&mut *tx)
[INFO] [stdout] 149 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 150 |         .map_err(|e| e.to_string())?;
[INFO] [stdout]     |                   ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 150 |         .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 | /         sqlx::query!("UPDATE player_quests SET status = 'Completed', completed_at = NOW() WHERE player_quest_id = $1", player_quest_id)
[INFO] [stdout] 182 | |             .execute(&mut *tx).await.map_err(|e| e.to_string())?;
[INFO] [stdout]     | |____________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:182:47
[INFO] [stdout]     |
[INFO] [stdout] 182 |             .execute(&mut *tx).await.map_err(|e| e.to_string())?;
[INFO] [stdout]     |                                               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 182 |             .execute(&mut *tx).await.map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                                                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/saga.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let completed_units = sqlx::query_as!(
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     if !completed_units.is_empty() {
[INFO] [stdout]    |         --------------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `completed_units` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let completed_units: /* Type */ = sqlx::query_as!(
[INFO] [stdout]    |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/saga.rs:146:25
[INFO] [stdout]     |
[INFO] [stdout] 146 | ... = sqlx::query!("UPDATE player_saga_profile SET current_ap = current_ap - $1 WHERE user_id = $2 AND current_ap >= $1", amount, user_id_i64).execute(pool).await?.ro...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]  --> src/database/settings.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let row = sqlx::query!("SELECT value FROM bot_config WHERE key = $1", key)
[INFO] [stdout]   |         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |     Ok(row.map(|r| r.value))
[INFO] [stdout]   |        --- type must be known at this point
[INFO] [stdout]   |
[INFO] [stdout] help: consider giving `row` an explicit type
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let row: /* Type */ = sqlx::query!("SELECT value FROM bot_config WHERE key = $1", key)
[INFO] [stdout]   |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/tasks.rs:131:25
[INFO] [stdout]     |
[INFO] [stdout] 131 |       let task_to_claim = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 132 | |         r#"SELECT t.reward_coins, t.reward_item_id, t.reward_item_quantity
[INFO] [stdout] 133 | |         FROM player_tasks pt JOIN tasks t ON pt.task_id = t.task_id
[INFO] [stdout] 134 | |         WHERE pt.player_task_id = $1 AND pt.user_id = $2
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |     .fetch_optional(&mut *tx)
[INFO] [stdout] 140 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/tasks.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 |     .map_err(|e| e.to_string())?;
[INFO] [stdout]     |               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 141 |     .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/tasks.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 | /         sqlx::query!(
[INFO] [stdout] 158 | |             "UPDATE player_tasks SET claimed_at = NOW() WHERE player_task_id = $1",
[INFO] [stdout] 159 | |             player_task_id
[INFO] [stdout] ...   |
[INFO] [stdout] 162 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/tasks.rs:163:19
[INFO] [stdout]     |
[INFO] [stdout] 163 |         .map_err(|e| e.to_string())?;
[INFO] [stdout]     |                   ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 163 |         .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/commands/party/ui.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |       let units = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 202 | |         crate::database::models::PlayerUnit,
[INFO] [stdout] 203 | |         r#"SELECT
[INFO] [stdout] 204 | |         pu.player_unit_id, pu.user_id, pu.unit_id, pu.nickname, pu.current_level, pu.current_xp,
[INFO] [stdout] ...   |
[INFO] [stdout] 211 | |     .fetch_all(pool)
[INFO] [stdout] 212 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/units.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |       let count = sqlx::query_scalar!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 84 | |         "SELECT quantity FROM inventories WHERE user_id = $1 AND item_id = $2",
[INFO] [stdout] 85 | |         user_id_i64,
[INFO] [stdout] 86 | |         lure_item_id
[INFO] [stdout] 87 | |     )
[INFO] [stdout] 88 | |     .fetch_optional(pool)
[INFO] [stdout] 89 | |     .await?
[INFO] [stdout]    | |___________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | /     sqlx::query!("SELECT pg_advisory_xact_lock($1)", user_id_i64)
[INFO] [stdout] 105 | |         .execute(&mut *tx)
[INFO] [stdout] 106 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |         .map_err(|e| e.to_string())?;
[INFO] [stdout]     |                   ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 107 |         .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 | ... = sqlx::query_as!(Profile, "SELECT balance, last_work, work_streak, fishing_xp, fishing_level, mining_xp, mining_level, coding_xp, coding_level FROM profiles WHERE user_id = $1 FOR UPDATE", user_id_i64).fetch_one(&mut *tx).await.ma...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:113:26
[INFO] [stdout]     |
[INFO] [stdout] 113 |       let army_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 114 | |         "SELECT COUNT(*) FROM player_units WHERE user_id = $1",
[INFO] [stdout] 115 | |         user_id_i64
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |       let unit_master = sqlx::query_as!(Unit, "SELECT unit_id, name, description, base_attack, base_defense, base_health, is_recruitable, k...
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 130 | |         .fetch_one(&mut *tx)
[INFO] [stdout] 131 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |           let party_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 141 | |             "SELECT COUNT(*) FROM player_units WHERE user_id = $1 AND is_in_party = TRUE",
[INFO] [stdout] 142 | |             user_id_i64
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     sqlx::query!("INSERT INTO player_units (...er.rarity as _, is_in_party).execute(&mut *tx).await.ma...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     sqlx::query!("SELECT pg_advisory_xact_lock($1)", user_id_i64)
[INFO] [stdout] 169 | |         .execute(&mut *tx)
[INFO] [stdout] 170 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:171:19
[INFO] [stdout]     |
[INFO] [stdout] 171 |         .map_err(|e| e.to_string())?;
[INFO] [stdout]     |                   ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 171 |         .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:172:23
[INFO] [stdout]     |
[INFO] [stdout] 172 |       let unit_master = sqlx::query_as!(Unit, "SELECT unit_id, name, description, base_attack, base_defense, base_health, is_recruitable, k...
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 173 | |         .fetch_one(&mut *tx)
[INFO] [stdout] 174 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 |           let army_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 197 | |             "SELECT COUNT(*) FROM player_units WHERE user_id = $1",
[INFO] [stdout] 198 | |             user_id_i64
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     sqlx::query!("INSERT INTO player_units (...th, unit_master.rarity as _).execute(&mut *tx).await.ma...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:260:16
[INFO] [stdout]     |
[INFO] [stdout] 260 |       let host = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 261 | |         "SELECT player_unit_id, rarity::text as rarity_text FROM player_units WHERE player_unit_id = $1 AND user_id = $2 FOR UPDATE",
[INFO] [stdout] 262 | |         host_player_unit_id,
[INFO] [stdout] 263 | |         user_id_i64
[INFO] [stdout] 264 | |     )
[INFO] [stdout] 265 | |     .fetch_one(&mut *tx)
[INFO] [stdout] 266 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:268:20
[INFO] [stdout]     |
[INFO] [stdout] 268 |       let equipped = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 269 | |         "SELECT player_unit_id, rarity::text as rarity_text, is_in_party FROM player_units WHERE player_unit_id = $1 AND user_id = $2 FOR...
[INFO] [stdout] 270 | |         equipped_player_unit_id,
[INFO] [stdout] 271 | |         user_id_i64
[INFO] [stdout] 272 | |     )
[INFO] [stdout] 273 | |     .fetch_one(&mut *tx)
[INFO] [stdout] 274 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:292:20
[INFO] [stdout]     |
[INFO] [stdout] 292 |       let host_has = sqlx::query_scalar!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 293 | |         "SELECT 1 FROM equippable_unit_bonds WHERE host_player_unit_id = $1",
[INFO] [stdout] 294 | |         host_player_unit_id
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:298:15
[INFO] [stdout]     |
[INFO] [stdout] 298 |     .map_err(|e| e.to_string())?;
[INFO] [stdout]     |               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 298 |     .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:303:25
[INFO] [stdout]     |
[INFO] [stdout] 303 |       let equipped_used = sqlx::query_scalar!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 304 | |         "SELECT 1 FROM equippable_unit_bonds WHERE equipped_player_unit_id = $1",
[INFO] [stdout] 305 | |         equipped_player_unit_id
[INFO] [stdout] ...   |
[INFO] [stdout] 308 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:309:15
[INFO] [stdout]     |
[INFO] [stdout] 309 |     .map_err(|e| e.to_string())?;
[INFO] [stdout]     |               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 309 |     .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 314 | /     sqlx::query!("INSERT INTO equippable_unit_bonds (host_player_unit_id, equipped_player_unit_id, is_equipped) VALUES ($1,$2, TRUE)", ho...
[INFO] [stdout] 315 | |         .execute(&mut *tx)
[INFO] [stdout] 316 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | /     sqlx::query!(
[INFO] [stdout] 319 | |         "UPDATE player_units SET is_in_party = FALSE WHERE player_unit_id = $1",
[INFO] [stdout] 320 | |         equipped_player_unit_id
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:336:9
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let owned = sqlx::query_scalar!(
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     if owned.is_none() {
[INFO] [stdout]     |        ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `owned` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let owned: /* Type */ = sqlx::query_scalar!(
[INFO] [stdout]     |              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:347:19
[INFO] [stdout]     |
[INFO] [stdout] 347 |       let updated = sqlx::query!("UPDATE equippable_unit_bonds SET is_equipped = FALSE WHERE host_player_unit_id = $1 AND is_equipped = TRU...
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 348 | |         .execute(&mut *tx)
[INFO] [stdout] 349 | |         .await?
[INFO] [stdout]     | |_______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:401:25
[INFO] [stdout]     |
[INFO] [stdout] 401 | ... = sqlx::query!("UPDATE player_saga_profile SET current_tp = current_tp - $1 WHERE user_id = $2 AND current_tp >= $1", amount, user_id_i64).execute(&mut **tx).await?.ro...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:421:25
[INFO] [stdout]     |
[INFO] [stdout] 421 | ... = sqlx::query!("UPDATE player_units SET is_training = TRUE, training_stat = $1, training_ends_at = $2 WHERE player_unit_id = $3 AND user_id = $4", stat_to_train, training_ends, player_unit_id, user_id_i64).execute(&mut *tx).await?.ro...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:452:31
[INFO] [stdout]     |
[INFO] [stdout] 452 |           let party_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 453 | |             "SELECT COUNT(*) FROM player_units WHERE user_id = $1 AND is_in_party = TRUE",
[INFO] [stdout] 454 | |             user_id_i64
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         .await?
[INFO] [stdout]     | |_______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:464:25
[INFO] [stdout]     |
[INFO] [stdout] 464 |       let rows_affected = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 465 | |         "UPDATE player_units SET is_in_party = $1 WHERE player_unit_id = $2 AND user_id = $3",
[INFO] [stdout] 466 | |         is_in_party,
[INFO] [stdout] 467 | |         player_unit_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 470 | |     .execute(&mut *tx)
[INFO] [stdout] 471 | |     .await?
[INFO] [stdout]     | |___________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:503:8
[INFO] [stdout]     |
[INFO] [stdout] 503 |       Ok(sqlx::query_scalar!(
[INFO] [stdout]     |  ________^
[INFO] [stdout] 504 | |         "SELECT tamed_count FROM unit_research_progress WHERE user_id = $1 AND unit_id = $2",
[INFO] [stdout] 505 | |         user_id_i64,
[INFO] [stdout] 506 | |         unit_id
[INFO] [stdout] 507 | |     )
[INFO] [stdout] 508 | |     .fetch_optional(pool)
[INFO] [stdout] 509 | |     .await?
[INFO] [stdout]     | |___________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |     let rows = sqlx::query!(
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 526 |     Ok(rows
[INFO] [stdout]     |        ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `rows` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 520 |     let rows: /* Type */ = sqlx::query!(
[INFO] [stdout]     |             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:573:19
[INFO] [stdout]     |
[INFO] [stdout] 573 |       let updated = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 574 | |         "UPDATE units SET kind = 'Human' WHERE unit_id = ANY($1)",
[INFO] [stdout] 575 | |         unit_ids
[INFO] [stdout] ...   |
[INFO] [stdout] 578 | |     .await?
[INFO] [stdout]     | |___________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:629:25
[INFO] [stdout]     |
[INFO] [stdout] 629 |       let rows_affected = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 630 | |         "DELETE FROM player_units WHERE player_unit_id = $1 AND user_id = $2",
[INFO] [stdout] 631 | |         player_unit_id,
[INFO] [stdout] 632 | |         user_id_i64
[INFO] [stdout] 633 | |     )
[INFO] [stdout] 634 | |     .execute(pool)
[INFO] [stdout] 635 | |     .await?
[INFO] [stdout]     | |___________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:659:16
[INFO] [stdout]     |
[INFO] [stdout] 659 |       let host = sqlx::query!("SELECT pu.player_unit_id, pu.rarity::text as rarity_text, pu.is_in_party, u.kind::text as host_kind FROM pla...
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 660 | |     .fetch_one(&mut *tx)
[INFO] [stdout] 661 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:663:20
[INFO] [stdout]     |
[INFO] [stdout] 663 |       let equipped = sqlx::query!("SELECT pu.player_unit_id, pu.rarity::text as rarity_text, pu.is_in_party, u.kind::text as eq_kind FROM p...
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 664 | |     .fetch_one(&mut *tx)
[INFO] [stdout] 665 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:691:20
[INFO] [stdout]     |
[INFO] [stdout] 691 |       let host_has = sqlx::query_scalar!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 692 | |         "SELECT 1 FROM equippable_unit_bonds WHERE host_player_unit_id = $1",
[INFO] [stdout] 693 | |         host_player_unit_id
[INFO] [stdout] ...   |
[INFO] [stdout] 696 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:697:15
[INFO] [stdout]     |
[INFO] [stdout] 697 |     .map_err(|e| e.to_string())?;
[INFO] [stdout]     |               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 697 |     .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:702:25
[INFO] [stdout]     |
[INFO] [stdout] 702 |       let equipped_used = sqlx::query_scalar!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 703 | |         "SELECT 1 FROM equippable_unit_bonds WHERE equipped_player_unit_id = $1",
[INFO] [stdout] 704 | |         equipped_player_unit_id
[INFO] [stdout] ...   |
[INFO] [stdout] 707 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:708:15
[INFO] [stdout]     |
[INFO] [stdout] 708 |     .map_err(|e| e.to_string())?;
[INFO] [stdout]     |               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 708 |     .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:714:5
[INFO] [stdout]     |
[INFO] [stdout] 714 | /     sqlx::query!("INSERT INTO equippable_unit_bonds (host_player_unit_id, equipped_player_unit_id, is_equipped) VALUES ($1,$2, TRUE)", ho...
[INFO] [stdout] 715 | |     .execute(&mut *tx)
[INFO] [stdout] 716 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:718:5
[INFO] [stdout]     |
[INFO] [stdout] 718 | /     sqlx::query!(
[INFO] [stdout] 719 | |         "UPDATE player_units SET is_in_party = FALSE WHERE player_unit_id = $1",
[INFO] [stdout] 720 | |         equipped_player_unit_id
[INFO] [stdout] ...   |
[INFO] [stdout] 723 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/crafting.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |       let recipe = sqlx::query_as!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 38 | |         Recipe,
[INFO] [stdout] 39 | |         "SELECT * FROM recipes WHERE recipe_id = $1",
[INFO] [stdout] 40 | |         recipe_id
[INFO] [stdout] 41 | |     )
[INFO] [stdout] 42 | |     .fetch_one(&mut *tx)
[INFO] [stdout] 43 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/economy.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | /     sqlx::query!(
[INFO] [stdout] 52 | |         "UPDATE profiles SET balance = balance + $2 WHERE user_id = $1 AND balance + $2 >= 0",
[INFO] [stdout] 53 | |         user_id_i64,
[INFO] [stdout] 54 | |         delta
[INFO] [stdout] 55 | |     )
[INFO] [stdout] 56 | |     .execute(&mut **tx)
[INFO] [stdout] 57 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/economy.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 |     .and_then(|res| {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 59 |         if res.rows_affected() == 1 {
[INFO] [stdout]    |            --- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 58 |     .and_then(|res: /* Type */| {
[INFO] [stdout]    |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/economy.rs:94:9
[INFO] [stdout]     |
[INFO] [stdout]  94 | /         sqlx::query!(
[INFO] [stdout]  95 | |             "UPDATE inventories SET quantity = quantity + $3 WHERE user_id = $1 AND item_id = $2 AND quantity + $3 >= 0",
[INFO] [stdout]  96 | |             user_id_i64,
[INFO] [stdout]  97 | |             item_id_i32,
[INFO] [stdout] ...   |
[INFO] [stdout] 100 | |         .execute(&mut **tx)
[INFO] [stdout] 101 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/economy.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 |         .and_then(|res| if res.rows_affected() == 1 { Ok(()) } else { Err(sqlx::Error::RowNotFound) })
[INFO] [stdout]     |                    ^^^     --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 102 |         .and_then(|res: /* Type */| if res.rows_affected() == 1 { Ok(()) } else { Err(sqlx::Error::RowNotFound) })
[INFO] [stdout]     |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/human.rs:89:16
[INFO] [stdout]    |
[INFO] [stdout] 89 |       let meta = sqlx::query!("SELECT u.unit_id, u.name, u.description, u.base_attack, u.base_defense, u.base_health, u.is_recruitable, u.k...
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 90 | |         .fetch_one(pool).await.map_err(|_| "Unit not found".to_string())?;
[INFO] [stdout]    | |______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:94:21
[INFO] [stdout]     |
[INFO] [stdout]  94 |       let encounter = sqlx::query!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout]  95 | |         "SELECT defeats FROM human_encounters WHERE user_id=$1 AND unit_id=$2",
[INFO] [stdout]  96 | |         uid,
[INFO] [stdout]  97 | |         unit_id
[INFO] [stdout]  98 | |     )
[INFO] [stdout]  99 | |     .fetch_optional(pool)
[INFO] [stdout] 100 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:107:26
[INFO] [stdout]     |
[INFO] [stdout] 107 |       let drafted_exists = sqlx::query_scalar!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 108 | |         "SELECT 1 FROM drafted_human_contracts WHERE user_id=$1 AND unit_id=$2 AND consumed=FALSE",
[INFO] [stdout] 109 | |         uid,
[INFO] [stdout] 110 | |         unit_id
[INFO] [stdout] 111 | |     )
[INFO] [stdout] 112 | |     .fetch_optional(pool)
[INFO] [stdout] 113 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:143:23
[INFO] [stdout]     |
[INFO] [stdout] 143 |           let inv_row = sqlx::query!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 144 | |             "SELECT quantity FROM inventories WHERE user_id=$1 AND item_id=$2 FOR UPDATE",
[INFO] [stdout] 145 | |             uid,
[INFO] [stdout] 146 | |             item as i32
[INFO] [stdout] 147 | |         )
[INFO] [stdout] 148 | |         .fetch_optional(&mut *tx)
[INFO] [stdout] 149 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | /         sqlx::query!(
[INFO] [stdout] 159 | |             "UPDATE inventories SET quantity = quantity - 1 WHERE user_id=$1 AND item_id=$2",
[INFO] [stdout] 160 | |             uid,
[INFO] [stdout] 161 | |             item as i32
[INFO] [stdout] 162 | |         )
[INFO] [stdout] 163 | |         .execute(&mut *tx)
[INFO] [stdout] 164 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 | /         sqlx::query!(
[INFO] [stdout] 167 | |             "INSERT INTO drafted_human_contracts (user_id, unit_id) VALUES ($1,$2)",
[INFO] [stdout] 168 | |             uid,
[INFO] [stdout] 169 | |             unit_id
[INFO] [stdout] 170 | |         )
[INFO] [stdout] 171 | |         .execute(&mut *tx)
[INFO] [stdout] 172 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 | /         sqlx::query!(
[INFO] [stdout] 177 | |             "INSERT INTO drafted_human_contracts (user_id, unit_id) VALUES ($1,$2)",
[INFO] [stdout] 178 | |             uid,
[INFO] [stdout] 179 | |             unit_id
[INFO] [stdout] 180 | |         )
[INFO] [stdout] 181 | |         .execute(pool)
[INFO] [stdout] 182 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:199:19
[INFO] [stdout]     |
[INFO] [stdout] 199 |       let drafted = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 200 | |         "SELECT 1 FROM drafted_human_contracts WHERE user_id=$1 AND unit_id=$2 AND consumed=FALSE",
[INFO] [stdout] 201 | |         uid,
[INFO] [stdout] 202 | |         unit_id
[INFO] [stdout] 203 | |     )
[INFO] [stdout] 204 | |     .fetch_optional(&mut *tx)
[INFO] [stdout] 205 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 |       let unit_master = sqlx::query!("SELECT unit_id, name, base_attack, base_defense, base_health, rarity as \"rarity: UnitRarity\", kind ...
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 214 | |         .fetch_one(&mut *tx).await.map_err(|_| "Unit not found".to_string())?;
[INFO] [stdout]     | |__________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:219:27
[INFO] [stdout]     |
[INFO] [stdout] 219 |       let party_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 220 | |         "SELECT COUNT(*) FROM player_units WHERE user_id=$1 AND is_in_party=TRUE",
[INFO] [stdout] 221 | |         uid
[INFO] [stdout] ...   |
[INFO] [stdout] 224 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 | /     sqlx::query!("INSERT INTO player_units (user_id, unit_id, nickname, current_attack, current_defense, current_health, rarity, is_in_pa...
[INFO] [stdout] 232 | |         .execute(&mut *tx).await.map_err(|_| "Insert failed".to_string())?;
[INFO] [stdout]     | |________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/human.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 | /     sqlx::query!(
[INFO] [stdout] 234 | |         "UPDATE drafted_human_contracts SET consumed=TRUE WHERE user_id=$1 AND unit_id=$2",
[INFO] [stdout] 235 | |         uid,
[INFO] [stdout] 236 | |         unit_id
[INFO] [stdout] 237 | |     )
[INFO] [stdout] 238 | |     .execute(&mut *tx)
[INFO] [stdout] 239 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/quests.rs:32:30
[INFO] [stdout]    |
[INFO] [stdout] 32 |       let offered_count: i64 = sqlx::query_scalar!(
[INFO] [stdout]    |  ______________________________^
[INFO] [stdout] 33 | |         "SELECT COUNT(*) FROM player_quests WHERE user_id = $1 AND status = 'Offered'",
[INFO] [stdout] 34 | |         user_id_i64
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |     .await?
[INFO] [stdout]    | |___________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:88:9
[INFO] [stdout]     |
[INFO] [stdout]  88 |     let details_list = sqlx::query_as!(
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     let mut full_entries = Vec::with_capacity(details_list.len());
[INFO] [stdout]     |                                               ------------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `details_list` an explicit type
[INFO] [stdout]     |
[INFO] [stdout]  88 |     let details_list: /* Type */ = sqlx::query_as!(
[INFO] [stdout]     |                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 |       let accepted_quest = sqlx::query_as!(AcceptedQuest, r#"UPDATE player_quests pq SET status = 'Accepted', accepted_at = NOW() FROM ques...
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 126 | |         .fetch_optional(pool).await.map_err(|e| e.to_string())?;
[INFO] [stdout]     | |___________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:126:46
[INFO] [stdout]     |
[INFO] [stdout] 126 |         .fetch_optional(pool).await.map_err(|e| e.to_string())?;
[INFO] [stdout]     |                                              ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 126 |         .fetch_optional(pool).await.map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:143:23
[INFO] [stdout]     |
[INFO] [stdout] 143 |           let rewards = sqlx::query_as!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 144 | |             QuestReward,
[INFO] [stdout] 145 | |             "SELECT * FROM quest_rewards WHERE quest_id = $1",
[INFO] [stdout] 146 | |             id
[INFO] [stdout] 147 | |         )
[INFO] [stdout] 148 | |         .fetch_all(&mut *tx)
[INFO] [stdout] 149 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 150 |         .map_err(|e| e.to_string())?;
[INFO] [stdout]     |                   ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 150 |         .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 | /         sqlx::query!("UPDATE player_quests SET status = 'Completed', completed_at = NOW() WHERE player_quest_id = $1", player_quest_id)
[INFO] [stdout] 182 | |             .execute(&mut *tx).await.map_err(|e| e.to_string())?;
[INFO] [stdout]     | |____________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/quests.rs:182:47
[INFO] [stdout]     |
[INFO] [stdout] 182 |             .execute(&mut *tx).await.map_err(|e| e.to_string())?;
[INFO] [stdout]     |                                               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 182 |             .execute(&mut *tx).await.map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                                                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/saga.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let completed_units = sqlx::query_as!(
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     if !completed_units.is_empty() {
[INFO] [stdout]    |         --------------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `completed_units` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let completed_units: /* Type */ = sqlx::query_as!(
[INFO] [stdout]    |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/saga.rs:146:25
[INFO] [stdout]     |
[INFO] [stdout] 146 | ... = sqlx::query!("UPDATE player_saga_profile SET current_ap = current_ap - $1 WHERE user_id = $2 AND current_ap >= $1", amount, user_id_i64).execute(pool).await?.ro...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]  --> src/database/settings.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let row = sqlx::query!("SELECT value FROM bot_config WHERE key = $1", key)
[INFO] [stdout]   |         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |     Ok(row.map(|r| r.value))
[INFO] [stdout]   |        --- type must be known at this point
[INFO] [stdout]   |
[INFO] [stdout] help: consider giving `row` an explicit type
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let row: /* Type */ = sqlx::query!("SELECT value FROM bot_config WHERE key = $1", key)
[INFO] [stdout]   |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/tasks.rs:131:25
[INFO] [stdout]     |
[INFO] [stdout] 131 |       let task_to_claim = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 132 | |         r#"SELECT t.reward_coins, t.reward_item_id, t.reward_item_quantity
[INFO] [stdout] 133 | |         FROM player_tasks pt JOIN tasks t ON pt.task_id = t.task_id
[INFO] [stdout] 134 | |         WHERE pt.player_task_id = $1 AND pt.user_id = $2
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |     .fetch_optional(&mut *tx)
[INFO] [stdout] 140 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/tasks.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 |     .map_err(|e| e.to_string())?;
[INFO] [stdout]     |               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 141 |     .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/tasks.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 | /         sqlx::query!(
[INFO] [stdout] 158 | |             "UPDATE player_tasks SET claimed_at = NOW() WHERE player_task_id = $1",
[INFO] [stdout] 159 | |             player_task_id
[INFO] [stdout] ...   |
[INFO] [stdout] 162 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/tasks.rs:163:19
[INFO] [stdout]     |
[INFO] [stdout] 163 |         .map_err(|e| e.to_string())?;
[INFO] [stdout]     |                   ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 163 |         .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/units.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |       let count = sqlx::query_scalar!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 84 | |         "SELECT quantity FROM inventories WHERE user_id = $1 AND item_id = $2",
[INFO] [stdout] 85 | |         user_id_i64,
[INFO] [stdout] 86 | |         lure_item_id
[INFO] [stdout] 87 | |     )
[INFO] [stdout] 88 | |     .fetch_optional(pool)
[INFO] [stdout] 89 | |     .await?
[INFO] [stdout]    | |___________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | /     sqlx::query!("SELECT pg_advisory_xact_lock($1)", user_id_i64)
[INFO] [stdout] 105 | |         .execute(&mut *tx)
[INFO] [stdout] 106 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |         .map_err(|e| e.to_string())?;
[INFO] [stdout]     |                   ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 107 |         .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 | ... = sqlx::query_as!(Profile, "SELECT balance, last_work, work_streak, fishing_xp, fishing_level, mining_xp, mining_level, coding_xp, coding_level FROM profiles WHERE user_id = $1 FOR UPDATE", user_id_i64).fetch_one(&mut *tx).await.ma...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:113:26
[INFO] [stdout]     |
[INFO] [stdout] 113 |       let army_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 114 | |         "SELECT COUNT(*) FROM player_units WHERE user_id = $1",
[INFO] [stdout] 115 | |         user_id_i64
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |       let unit_master = sqlx::query_as!(Unit, "SELECT unit_id, name, description, base_attack, base_defense, base_health, is_recruitable, k...
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 130 | |         .fetch_one(&mut *tx)
[INFO] [stdout] 131 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |           let party_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 141 | |             "SELECT COUNT(*) FROM player_units WHERE user_id = $1 AND is_in_party = TRUE",
[INFO] [stdout] 142 | |             user_id_i64
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     sqlx::query!("INSERT INTO player_units (...er.rarity as _, is_in_party).execute(&mut *tx).await.ma...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     sqlx::query!("SELECT pg_advisory_xact_lock($1)", user_id_i64)
[INFO] [stdout] 169 | |         .execute(&mut *tx)
[INFO] [stdout] 170 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:171:19
[INFO] [stdout]     |
[INFO] [stdout] 171 |         .map_err(|e| e.to_string())?;
[INFO] [stdout]     |                   ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 171 |         .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:172:23
[INFO] [stdout]     |
[INFO] [stdout] 172 |       let unit_master = sqlx::query_as!(Unit, "SELECT unit_id, name, description, base_attack, base_defense, base_health, is_recruitable, k...
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 173 | |         .fetch_one(&mut *tx)
[INFO] [stdout] 174 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 |           let army_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 197 | |             "SELECT COUNT(*) FROM player_units WHERE user_id = $1",
[INFO] [stdout] 198 | |             user_id_i64
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     sqlx::query!("INSERT INTO player_units (...th, unit_master.rarity as _).execute(&mut *tx).await.ma...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:260:16
[INFO] [stdout]     |
[INFO] [stdout] 260 |       let host = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 261 | |         "SELECT player_unit_id, rarity::text as rarity_text FROM player_units WHERE player_unit_id = $1 AND user_id = $2 FOR UPDATE",
[INFO] [stdout] 262 | |         host_player_unit_id,
[INFO] [stdout] 263 | |         user_id_i64
[INFO] [stdout] 264 | |     )
[INFO] [stdout] 265 | |     .fetch_one(&mut *tx)
[INFO] [stdout] 266 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:268:20
[INFO] [stdout]     |
[INFO] [stdout] 268 |       let equipped = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 269 | |         "SELECT player_unit_id, rarity::text as rarity_text, is_in_party FROM player_units WHERE player_unit_id = $1 AND user_id = $2 FOR...
[INFO] [stdout] 270 | |         equipped_player_unit_id,
[INFO] [stdout] 271 | |         user_id_i64
[INFO] [stdout] 272 | |     )
[INFO] [stdout] 273 | |     .fetch_one(&mut *tx)
[INFO] [stdout] 274 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:292:20
[INFO] [stdout]     |
[INFO] [stdout] 292 |       let host_has = sqlx::query_scalar!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 293 | |         "SELECT 1 FROM equippable_unit_bonds WHERE host_player_unit_id = $1",
[INFO] [stdout] 294 | |         host_player_unit_id
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:298:15
[INFO] [stdout]     |
[INFO] [stdout] 298 |     .map_err(|e| e.to_string())?;
[INFO] [stdout]     |               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 298 |     .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:303:25
[INFO] [stdout]     |
[INFO] [stdout] 303 |       let equipped_used = sqlx::query_scalar!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 304 | |         "SELECT 1 FROM equippable_unit_bonds WHERE equipped_player_unit_id = $1",
[INFO] [stdout] 305 | |         equipped_player_unit_id
[INFO] [stdout] ...   |
[INFO] [stdout] 308 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:309:15
[INFO] [stdout]     |
[INFO] [stdout] 309 |     .map_err(|e| e.to_string())?;
[INFO] [stdout]     |               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 309 |     .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 314 | /     sqlx::query!("INSERT INTO equippable_unit_bonds (host_player_unit_id, equipped_player_unit_id, is_equipped) VALUES ($1,$2, TRUE)", ho...
[INFO] [stdout] 315 | |         .execute(&mut *tx)
[INFO] [stdout] 316 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | /     sqlx::query!(
[INFO] [stdout] 319 | |         "UPDATE player_units SET is_in_party = FALSE WHERE player_unit_id = $1",
[INFO] [stdout] 320 | |         equipped_player_unit_id
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:336:9
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let owned = sqlx::query_scalar!(
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     if owned.is_none() {
[INFO] [stdout]     |        ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `owned` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let owned: /* Type */ = sqlx::query_scalar!(
[INFO] [stdout]     |              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:347:19
[INFO] [stdout]     |
[INFO] [stdout] 347 |       let updated = sqlx::query!("UPDATE equippable_unit_bonds SET is_equipped = FALSE WHERE host_player_unit_id = $1 AND is_equipped = TRU...
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 348 | |         .execute(&mut *tx)
[INFO] [stdout] 349 | |         .await?
[INFO] [stdout]     | |_______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:401:25
[INFO] [stdout]     |
[INFO] [stdout] 401 | ... = sqlx::query!("UPDATE player_saga_profile SET current_tp = current_tp - $1 WHERE user_id = $2 AND current_tp >= $1", amount, user_id_i64).execute(&mut **tx).await?.ro...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:421:25
[INFO] [stdout]     |
[INFO] [stdout] 421 | ... = sqlx::query!("UPDATE player_units SET is_training = TRUE, training_stat = $1, training_ends_at = $2 WHERE player_unit_id = $3 AND user_id = $4", stat_to_train, training_ends, player_unit_id, user_id_i64).execute(&mut *tx).await?.ro...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:452:31
[INFO] [stdout]     |
[INFO] [stdout] 452 |           let party_size: i64 = sqlx::query_scalar!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 453 | |             "SELECT COUNT(*) FROM player_units WHERE user_id = $1 AND is_in_party = TRUE",
[INFO] [stdout] 454 | |             user_id_i64
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         .await?
[INFO] [stdout]     | |_______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:464:25
[INFO] [stdout]     |
[INFO] [stdout] 464 |       let rows_affected = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 465 | |         "UPDATE player_units SET is_in_party = $1 WHERE player_unit_id = $2 AND user_id = $3",
[INFO] [stdout] 466 | |         is_in_party,
[INFO] [stdout] 467 | |         player_unit_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 470 | |     .execute(&mut *tx)
[INFO] [stdout] 471 | |     .await?
[INFO] [stdout]     | |___________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:503:8
[INFO] [stdout]     |
[INFO] [stdout] 503 |       Ok(sqlx::query_scalar!(
[INFO] [stdout]     |  ________^
[INFO] [stdout] 504 | |         "SELECT tamed_count FROM unit_research_progress WHERE user_id = $1 AND unit_id = $2",
[INFO] [stdout] 505 | |         user_id_i64,
[INFO] [stdout] 506 | |         unit_id
[INFO] [stdout] 507 | |     )
[INFO] [stdout] 508 | |     .fetch_optional(pool)
[INFO] [stdout] 509 | |     .await?
[INFO] [stdout]     | |___________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |     let rows = sqlx::query!(
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 526 |     Ok(rows
[INFO] [stdout]     |        ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `rows` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 520 |     let rows: /* Type */ = sqlx::query!(
[INFO] [stdout]     |             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:573:19
[INFO] [stdout]     |
[INFO] [stdout] 573 |       let updated = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 574 | |         "UPDATE units SET kind = 'Human' WHERE unit_id = ANY($1)",
[INFO] [stdout] 575 | |         unit_ids
[INFO] [stdout] ...   |
[INFO] [stdout] 578 | |     .await?
[INFO] [stdout]     | |___________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:629:25
[INFO] [stdout]     |
[INFO] [stdout] 629 |       let rows_affected = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 630 | |         "DELETE FROM player_units WHERE player_unit_id = $1 AND user_id = $2",
[INFO] [stdout] 631 | |         player_unit_id,
[INFO] [stdout] 632 | |         user_id_i64
[INFO] [stdout] 633 | |     )
[INFO] [stdout] 634 | |     .execute(pool)
[INFO] [stdout] 635 | |     .await?
[INFO] [stdout]     | |___________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:659:16
[INFO] [stdout]     |
[INFO] [stdout] 659 |       let host = sqlx::query!("SELECT pu.player_unit_id, pu.rarity::text as rarity_text, pu.is_in_party, u.kind::text as host_kind FROM pla...
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 660 | |     .fetch_one(&mut *tx)
[INFO] [stdout] 661 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:663:20
[INFO] [stdout]     |
[INFO] [stdout] 663 |       let equipped = sqlx::query!("SELECT pu.player_unit_id, pu.rarity::text as rarity_text, pu.is_in_party, u.kind::text as eq_kind FROM p...
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 664 | |     .fetch_one(&mut *tx)
[INFO] [stdout] 665 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:691:20
[INFO] [stdout]     |
[INFO] [stdout] 691 |       let host_has = sqlx::query_scalar!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 692 | |         "SELECT 1 FROM equippable_unit_bonds WHERE host_player_unit_id = $1",
[INFO] [stdout] 693 | |         host_player_unit_id
[INFO] [stdout] ...   |
[INFO] [stdout] 696 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:697:15
[INFO] [stdout]     |
[INFO] [stdout] 697 |     .map_err(|e| e.to_string())?;
[INFO] [stdout]     |               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 697 |     .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:702:25
[INFO] [stdout]     |
[INFO] [stdout] 702 |       let equipped_used = sqlx::query_scalar!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 703 | |         "SELECT 1 FROM equippable_unit_bonds WHERE equipped_player_unit_id = $1",
[INFO] [stdout] 704 | |         equipped_player_unit_id
[INFO] [stdout] ...   |
[INFO] [stdout] 707 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:708:15
[INFO] [stdout]     |
[INFO] [stdout] 708 |     .map_err(|e| e.to_string())?;
[INFO] [stdout]     |               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 708 |     .map_err(|e: /* Type */| e.to_string())?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:714:5
[INFO] [stdout]     |
[INFO] [stdout] 714 | /     sqlx::query!("INSERT INTO equippable_unit_bonds (host_player_unit_id, equipped_player_unit_id, is_equipped) VALUES ($1,$2, TRUE)", ho...
[INFO] [stdout] 715 | |     .execute(&mut *tx)
[INFO] [stdout] 716 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/units.rs:718:5
[INFO] [stdout]     |
[INFO] [stdout] 718 | /     sqlx::query!(
[INFO] [stdout] 719 | |         "UPDATE player_units SET is_in_party = FALSE WHERE player_unit_id = $1",
[INFO] [stdout] 720 | |         equipped_player_unit_id
[INFO] [stdout] ...   |
[INFO] [stdout] 723 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gamemaster-bot` (lib test) due to 190 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gamemaster-bot` (lib) due to 190 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "8470176f730dcac52311dd091c12b0d8c13d7ed0511c9319bd881165688a36a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8470176f730dcac52311dd091c12b0d8c13d7ed0511c9319bd881165688a36a8", kill_on_drop: false }`
[INFO] [stdout] 8470176f730dcac52311dd091c12b0d8c13d7ed0511c9319bd881165688a36a8
