[INFO] cloning repository https://github.com/sysFaisal/NyobaRust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sysFaisal/NyobaRust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsysFaisal%2FNyobaRust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsysFaisal%2FNyobaRust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 353c3e46f16acdbf0f346f06fa8e53461241ccb2
[INFO] checking sysFaisal/NyobaRust against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsysFaisal%2FNyobaRust" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/sysFaisal/NyobaRust
[INFO] finished tweaking git repo https://github.com/sysFaisal/NyobaRust
[INFO] tweaked toml for git repo https://github.com/sysFaisal/NyobaRust written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sysFaisal/NyobaRust on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sysFaisal/NyobaRust 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c42cfc43da7af5af9feeab05e435d3a16f003cec8f964ce768f829668545525e
[INFO] running `Command { std: "docker" "start" "c42cfc43da7af5af9feeab05e435d3a16f003cec8f964ce768f829668545525e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c42cfc43da7af5af9feeab05e435d3a16f003cec8f964ce768f829668545525e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c42cfc43da7af5af9feeab05e435d3a16f003cec8f964ce768f829668545525e" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c42cfc43da7af5af9feeab05e435d3a16f003cec8f964ce768f829668545525e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c42cfc43da7af5af9feeab05e435d3a16f003cec8f964ce768f829668545525e" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]     Checking critical-section v1.2.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.10
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]     Checking futures-sink v0.3.33
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling hybrid-array v0.4.14
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling cc v1.4.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]     Checking getrandom v0.4.3
[INFO] [stderr]    Compiling cmov v0.5.4
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking num-integer v0.1.47
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling futures-core v0.3.33
[INFO] [stderr]     Checking futures-channel v0.3.33
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]     Checking tinyvec v1.12.0
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]     Checking ctutils v0.4.2
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling rand_core v0.10.1
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]    Compiling bigdecimal v0.4.10
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling num-bigint v0.4.8
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]     Checking spin v0.9.9
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling futures-task v0.3.33
[INFO] [stderr]    Compiling futures-io v0.3.33
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]     Checking rand v0.10.2
[INFO] [stderr]    Compiling crossbeam-queue v0.3.13
[INFO] [stderr]    Compiling futures-util v0.3.33
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling chacha20 v0.10.1
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]    Compiling hashlink v0.11.1
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling uuid v1.24.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling hmac v0.13.0
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling hkdf v0.13.0
[INFO] [stderr]    Compiling md-5 v0.11.0
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling whoami v2.1.2
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]    Compiling time-macros v0.2.32
[INFO] [stderr]     Checking rand v0.8.7
[INFO] [stderr]     Checking http-body-util v0.1.4
[INFO] [stderr]     Checking num-iter v0.1.46
[INFO] [stderr]    Compiling proc-macro-error-attr3 v3.1.0
[INFO] [stderr]    Compiling cookie v0.18.2
[INFO] [stderr]     Checking data-encoding v2.11.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.16
[INFO] [stderr]     Checking ascii_utils v0.9.3
[INFO] [stderr]    Compiling rust_decimal v1.42.1
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]     Checking fast_chemail v0.9.6
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking thread_local v1.1.10
[INFO] [stderr]    Compiling proc-macro-error3 v3.1.0
[INFO] [stderr]     Checking arrayvec v0.7.8
[INFO] [stderr]     Checking resolv-conf v0.7.6
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking env v1.0.1
[INFO] [stderr]     Checking mailchecker v6.0.21
[INFO] [stderr]     Checking password-hash v0.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking time v0.3.55
[INFO] [stderr]    Compiling axum-macros v0.5.1
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling validator_derive v0.20.1
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking primeorder v0.13.6
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]     Checking p256 v0.13.2
[INFO] [stderr]     Checking p384 v0.13.1
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking either v1.17.0
[INFO] [stderr]     Checking ipnet v2.12.1
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking prefix-trie v0.8.4
[INFO] [stderr]     Checking email_address v0.2.9
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking serde-email v3.2.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking moka v0.12.16
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]     Checking rsa v0.9.10
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]     Checking jsonwebtoken v11.0.0
[INFO] [stderr]    Compiling sqlx-core v0.9.0
[INFO] [stderr]     Checking hickory-proto v0.26.1
[INFO] [stderr]     Checking validator v0.21.0
[INFO] [stderr]    Compiling sqlx-postgres v0.9.0
[INFO] [stderr]     Checking hyper v1.11.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking hickory-net v0.26.1
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking hickory-resolver v0.26.1
[INFO] [stderr]    Compiling sqlx-macros-core v0.9.0
[INFO] [stderr]     Checking axum-extra v0.12.6
[INFO] [stderr]    Compiling sqlx-macros v0.9.0
[INFO] [stderr]     Checking sqlx v0.9.0
[INFO] [stderr]     Checking nyobarust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Date`, `Duration`, and `NaiveDate`
[INFO] [stdout]  --> src/bin/todo.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{Date, DateTime, Duration, NaiveDate, NaiveDateTime, Utc};
[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: `write`
[INFO] [stdout]  --> src/bin/todo.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{self, write};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/bin/todo.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, Read, Write};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime<Tz>` instead
[INFO] [stdout]  --> src/bin/todo.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{Date, DateTime, Duration, NaiveDate, NaiveDateTime, Utc};
[INFO] [stdout]   |              ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/todo.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut Todo = TodoList::NewTodo(nama);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `date`
[INFO] [stdout]    --> src/bin/todo.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let date = Utc::now();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_date`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Done` is never constructed
[INFO] [stdout]  --> src/bin/todo.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum StatusTodolist {
[INFO] [stdout]   |      -------------- variant in this enum
[INFO] [stdout] 6 |     Ongoing,
[INFO] [stdout] 7 |     Done,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `EditNameTodo`, `FilDue_Date`, `setTodoOngoing`, `setTodoDone`, and `printTodo` are never used
[INFO] [stdout]   --> src/bin/todo.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl TodoList {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn EditNameTodo(&mut self, NameTodo: String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn FilDue_Date(&mut self, due_date: DateTime<Utc>) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn setTodoOngoing(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn setTodoDone(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn printTodo(&self) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Hasil` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |             Some(Hasil) => writeln!(f, "Started at = {}", Hasil)?,
[INFO] [stdout]    |                  ^^^^^ help: convert the identifier to snake case: `hasil`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Hasil2` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Some(Hasil2) => write!(f, "Due date = {}", Hasil2),
[INFO] [stdout]    |                  ^^^^^^ help: convert the identifier to snake case: `hasil2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `NewTodo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn NewTodo(NameTodo: String) -> TodoList {
[INFO] [stdout]    |        ^^^^^^^ help: convert the identifier to snake case: `new_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NameTodo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn NewTodo(NameTodo: String) -> TodoList {
[INFO] [stdout]    |                ^^^^^^^^ help: convert the identifier to snake case: `name_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `EditNameTodo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn EditNameTodo(&mut self, NameTodo: String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `edit_name_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NameTodo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:53:32
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn EditNameTodo(&mut self, NameTodo: String) {
[INFO] [stdout]    |                                ^^^^^^^^ help: convert the identifier to snake case: `name_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `FilDue_Date` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn FilDue_Date(&mut self, due_date: DateTime<Utc>) {
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to snake case: `fil_due_date`
[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/c_auth/login.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 18 | |         r#"SELECT id, password_hash, role as "role: RoleModel" FROM users WHERE username = $1"#,
[INFO] [stdout] 19 | |         username
[INFO] [stdout] 20 | |     )
[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/c_auth/login.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | /     sqlx::query!(
[INFO] [stdout] 55 | |         r#"
[INFO] [stdout] 56 | |     INSERT INTO refresh_token (
[INFO] [stdout] 57 | |         user_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |         family_id,
[INFO] [stdout] 73 | |     )
[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: method `setTodoOngoing` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn setTodoOngoing(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `set_todo_ongoing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setTodoDone` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn setTodoDone(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to snake case: `set_todo_done`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `printTodo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn printTodo(&self) {
[INFO] [stdout]    |        ^^^^^^^^^ help: convert the identifier to snake case: `print_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `CreateTodoVec` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn CreateTodoVec() -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `create_todo_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `NewTodo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn NewTodo(&mut self, nama: String) {
[INFO] [stdout]    |        ^^^^^^^ help: convert the identifier to snake case: `new_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Todo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut Todo = TodoList::NewTodo(nama);
[INFO] [stdout]    |                 ^^^^ help: convert the identifier to snake case: `todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `NewTodo_withDuedate` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn NewTodo_withDuedate(&mut self, nama: String, due_date: DateTime<Utc>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_todo_with_duedate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Todo` should have a snake case name
[INFO] [stdout]    --> src/bin/todo.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut Todo = TodoList::NewTodo(nama);
[INFO] [stdout]     |                 ^^^^ help: convert the identifier to snake case: `todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Print_allTodo` should have a snake case name
[INFO] [stdout]    --> src/bin/todo.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn Print_allTodo(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `print_all_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `nameTodo` should have a snake case name
[INFO] [stdout]    --> src/bin/todo.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut nameTodo = String::new();
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `name_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Date`, `Duration`, and `NaiveDate`
[INFO] [stdout]  --> src/bin/todo.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{Date, DateTime, Duration, NaiveDate, NaiveDateTime, Utc};
[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: `write`
[INFO] [stdout]  --> src/bin/todo.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{self, write};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/bin/todo.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, Read, Write};
[INFO] [stdout]   |                     ^^^^
[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/c_auth/login.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 18 | |         r#"SELECT id, password_hash, role as "role: RoleModel" FROM users WHERE username = $1"#,
[INFO] [stdout] 19 | |         username
[INFO] [stdout] 20 | |     )
[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/c_auth/login.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | /     sqlx::query!(
[INFO] [stdout] 55 | |         r#"
[INFO] [stdout] 56 | |     INSERT INTO refresh_token (
[INFO] [stdout] 57 | |         user_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |         family_id,
[INFO] [stdout] 73 | |     )
[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: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime<Tz>` instead
[INFO] [stdout]  --> src/bin/todo.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{Date, DateTime, Duration, NaiveDate, NaiveDateTime, Utc};
[INFO] [stdout]   |              ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `post`
[INFO] [stdout]  --> src/bin/nyaxum.rs:1:83
[INFO] [stdout]   |
[INFO] [stdout] 1 | use axum::{Json, Router, extract::{Path, Query}, http::StatusCode, routing::{get, post}};
[INFO] [stdout]   |                                                                                   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/todo.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut Todo = TodoList::NewTodo(nama);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `date`
[INFO] [stdout]    --> src/bin/todo.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let date = Utc::now();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_date`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Done` is never constructed
[INFO] [stdout]  --> src/bin/todo.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum StatusTodolist {
[INFO] [stdout]   |      -------------- variant in this enum
[INFO] [stdout] 6 |     Ongoing,
[INFO] [stdout] 7 |     Done,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `EditNameTodo`, `FilDue_Date`, `setTodoOngoing`, `setTodoDone`, and `printTodo` are never used
[INFO] [stdout]   --> src/bin/todo.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl TodoList {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn EditNameTodo(&mut self, NameTodo: String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn FilDue_Date(&mut self, due_date: DateTime<Utc>) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn setTodoOngoing(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn setTodoDone(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn printTodo(&self) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Hasil` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |             Some(Hasil) => writeln!(f, "Started at = {}", Hasil)?,
[INFO] [stdout]    |                  ^^^^^ help: convert the identifier to snake case: `hasil`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Hasil2` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Some(Hasil2) => write!(f, "Due date = {}", Hasil2),
[INFO] [stdout]    |                  ^^^^^^ help: convert the identifier to snake case: `hasil2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `NewTodo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn NewTodo(NameTodo: String) -> TodoList {
[INFO] [stdout]    |        ^^^^^^^ help: convert the identifier to snake case: `new_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NameTodo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn NewTodo(NameTodo: String) -> TodoList {
[INFO] [stdout]    |                ^^^^^^^^ help: convert the identifier to snake case: `name_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `EditNameTodo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn EditNameTodo(&mut self, NameTodo: String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `edit_name_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NameTodo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:53:32
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn EditNameTodo(&mut self, NameTodo: String) {
[INFO] [stdout]    |                                ^^^^^^^^ help: convert the identifier to snake case: `name_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `FilDue_Date` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn FilDue_Date(&mut self, due_date: DateTime<Utc>) {
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to snake case: `fil_due_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setTodoOngoing` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn setTodoOngoing(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `set_todo_ongoing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setTodoDone` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn setTodoDone(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to snake case: `set_todo_done`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `printTodo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn printTodo(&self) {
[INFO] [stdout]    |        ^^^^^^^^^ help: convert the identifier to snake case: `print_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `CreateTodoVec` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn CreateTodoVec() -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `create_todo_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `NewTodo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn NewTodo(&mut self, nama: String) {
[INFO] [stdout]    |        ^^^^^^^ help: convert the identifier to snake case: `new_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Todo` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut Todo = TodoList::NewTodo(nama);
[INFO] [stdout]    |                 ^^^^ help: convert the identifier to snake case: `todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `NewTodo_withDuedate` should have a snake case name
[INFO] [stdout]   --> src/bin/todo.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn NewTodo_withDuedate(&mut self, nama: String, due_date: DateTime<Utc>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_todo_with_duedate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Todo` should have a snake case name
[INFO] [stdout]    --> src/bin/todo.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut Todo = TodoList::NewTodo(nama);
[INFO] [stdout]     |                 ^^^^ help: convert the identifier to snake case: `todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Print_allTodo` should have a snake case name
[INFO] [stdout]    --> src/bin/todo.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn Print_allTodo(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `print_all_todo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `nameTodo` should have a snake case name
[INFO] [stdout]    --> src/bin/todo.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut nameTodo = String::new();
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `name_todo`
[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/service/user_svc.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |       let users = sqlx::query_as!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 24 | |         UserProfile,
[INFO] [stdout] 25 | |         r#"
[INFO] [stdout] 26 | |             SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 32 | |         "#
[INFO] [stdout] 33 | |     )
[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/service/user_svc.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |       let users = sqlx::query_as!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 45 | |         UserProfile,
[INFO] [stdout] 46 | |         r#"
[INFO] [stdout] 47 | |         SELECT id, username, email, created_at
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | |         target_id
[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/service/user_svc.rs:103:18
[INFO] [stdout]     |
[INFO] [stdout] 103 |       let respon = sqlx::query_as!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 104 | |         UserProfile,
[INFO] [stdout] 105 | |         r#"
[INFO] [stdout] 106 | |         INSERT INTO users (username, email, password_hash, role)
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | |         seller as RoleModel
[INFO] [stdout] 113 | |     )
[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/service/user_svc.rs:140:19
[INFO] [stdout]     |
[INFO] [stdout] 140 |       let current = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 141 | |         r#"SELECT username, email, password_hash FROM users WHERE id = $1"#,
[INFO] [stdout] 142 | |         id
[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` (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/service/user_svc.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |       let row = sqlx::query!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 199 | |         r#"
[INFO] [stdout] 200 | |         UPDATE users
[INFO] [stdout] 201 | |         SET username = $1, email = $2, password_hash = $3
[INFO] [stdout] ...   |
[INFO] [stdout] 208 | |         id
[INFO] [stdout] 209 | |     )
[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/service/user_svc.rs:224:24
[INFO] [stdout]     |
[INFO] [stdout] 224 |       let owned_brands = sqlx::query_scalar!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 225 | |         r#"SELECT COUNT(*) AS "count!" FROM brands WHERE owner_id = $1"#,
[INFO] [stdout] 226 | |         id
[INFO] [stdout] 227 | |     )
[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/service/user_svc.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let result = sqlx::query!("DELETE FROM users WHERE id = $1", 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/service/user_svc.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |       let record = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 272 | |         r#"
[INFO] [stdout] 273 | |         SELECT rt.user_id, rt.token_hash, rt.expire_at, u.role AS "role: RoleModel"
[INFO] [stdout] 274 | |         FROM refresh_token rt
[INFO] [stdout] ...   |
[INFO] [stdout] 278 | |         family_uuid
[INFO] [stdout] 279 | |     )
[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/service/user_svc.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 | /         sqlx::query!(
[INFO] [stdout] 297 | |             r#"DELETE FROM refresh_token WHERE family_id = $1"#,
[INFO] [stdout] 298 | |             family_uuid
[INFO] [stdout] 299 | |         )
[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/service/user_svc.rs:312:9
[INFO] [stdout]     |
[INFO] [stdout] 312 | /         sqlx::query!(
[INFO] [stdout] 313 | |             r#"DELETE FROM refresh_token WHERE family_id = $1"#,
[INFO] [stdout] 314 | |             family_uuid
[INFO] [stdout] 315 | |         )
[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/service/user_svc.rs:333:25
[INFO] [stdout]     |
[INFO] [stdout] 333 |       let update_result = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 334 | |         r#"
[INFO] [stdout] 335 | |         UPDATE refresh_token
[INFO] [stdout] 336 | |         SET token_hash = $1,
[INFO] [stdout] ...   |
[INFO] [stdout] 342 | |         family_uuid
[INFO] [stdout] 343 | |     )
[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/service/user_svc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 | /     sqlx::query!(
[INFO] [stdout] 368 | |         r#"DELETE FROM refresh_token WHERE family_id = $1"#,
[INFO] [stdout] 369 | |         family_uuid
[INFO] [stdout] 370 | |     )
[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/service/brands_svc.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let brand = sqlx::query_as!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 35 | |         Brand,
[INFO] [stdout] 36 | |         r#"
[INFO] [stdout] 37 | |         INSERT INTO brands (owner_id, name)
[INFO] [stdout] ...  |
[INFO] [stdout] 45 | |         name
[INFO] [stdout] 46 | |     )
[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/service/brands_svc.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let brands = sqlx::query_as!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 58 | |         Brand,
[INFO] [stdout] 59 | |         r#"
[INFO] [stdout] 60 | |         SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |         owner_id
[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/service/brands_svc.rs:94:17
[INFO] [stdout]     |
[INFO] [stdout]  94 |       let brand = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout]  95 | |         Brand,
[INFO] [stdout]  96 | |         r#"
[INFO] [stdout]  97 | |         UPDATE brands
[INFO] [stdout] ...   |
[INFO] [stdout] 107 | |         owner_id
[INFO] [stdout] 108 | |     )
[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/service/brands_svc.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |       let brand = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 131 | |         Brand,
[INFO] [stdout] 132 | |         r#"
[INFO] [stdout] 133 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 148 | |         id
[INFO] [stdout] 149 | |     )
[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/service/brands_svc.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |       let brand = sqlx::query!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 162 | |         r#"
[INFO] [stdout] 163 | |         SELECT
[INFO] [stdout] 164 | |             b.id AS "id!",
[INFO] [stdout] ...   |
[INFO] [stdout] 192 | |         owner_id
[INFO] [stdout] 193 | |     )
[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/service/brands_svc.rs:204:20
[INFO] [stdout]     |
[INFO] [stdout] 204 |           let soft = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 205 | |             r#"
[INFO] [stdout] 206 | |             UPDATE brands
[INFO] [stdout] 207 | |             SET deleted_at = now()
[INFO] [stdout] ...   |
[INFO] [stdout] 210 | |             id
[INFO] [stdout] 211 | |         )
[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/service/brands_svc.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | /     sqlx::query!(
[INFO] [stdout] 228 | |         r#"
[INFO] [stdout] 229 | |         DELETE FROM batch_parfume_bottle bf
[INFO] [stdout] 230 | |         USING batch_parfume bp, parfume p
[INFO] [stdout] ...   |
[INFO] [stdout] 235 | |         id
[INFO] [stdout] 236 | |     )
[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/service/brands_svc.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 240 | /     sqlx::query!(
[INFO] [stdout] 241 | |         r#"
[INFO] [stdout] 242 | |         DELETE FROM batch_parfume bp
[INFO] [stdout] 243 | |         USING parfume p
[INFO] [stdout] ...   |
[INFO] [stdout] 247 | |         id
[INFO] [stdout] 248 | |     )
[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/service/brands_svc.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | /     sqlx::query!(
[INFO] [stdout] 253 | |         r#"
[INFO] [stdout] 254 | |         DELETE FROM decant d
[INFO] [stdout] 255 | |         USING parfume p
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |         id
[INFO] [stdout] 260 | |     )
[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/service/brands_svc.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     sqlx::query!("DELETE FROM parfume WHERE brands_id = $1", 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/service/brands_svc.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     sqlx::query!("DELETE FROM brands WHERE id = $1", 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/service/parfume_svc.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |       let res = sqlx::query_as!(
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 30 | |         ParfumeResponse,
[INFO] [stdout] 31 | |         r#"
[INFO] [stdout] 32 | |         SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 48 | |         owner_id
[INFO] [stdout] 49 | |     )
[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/service/parfume_svc.rs:99:15
[INFO] [stdout]     |
[INFO] [stdout]  99 |       let res = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 100 | |         ParfumeResponse,
[INFO] [stdout] 101 | |         r#"
[INFO] [stdout] 102 | |         WITH inserted AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |         desc,
[INFO] [stdout] 140 | |     )
[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/service/parfume_svc.rs:191:19
[INFO] [stdout]     |
[INFO] [stdout] 191 |       let parfume = sqlx::query_as!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 192 | |         ParfumeResponse,
[INFO] [stdout] 193 | |         r#"
[INFO] [stdout] 194 | |         UPDATE parfume p
[INFO] [stdout] ...   |
[INFO] [stdout] 216 | |         desc,
[INFO] [stdout] 217 | |     )
[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/service/parfume_svc.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 |       let res = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 239 | |         ParfumeResponse,
[INFO] [stdout] 240 | |         r#"
[INFO] [stdout] 241 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 255 | |         owner_id,
[INFO] [stdout] 256 | |     )
[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/service/parfume_svc.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |       let res = match sqlx::query_as!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |         ParfumeResponse,
[INFO] [stdout] 270 | |         r#"
[INFO] [stdout] 271 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 287 | |         owner_id
[INFO] [stdout] 288 | |     )
[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/service/parfume_svc.rs:309:19
[INFO] [stdout]     |
[INFO] [stdout] 309 |       let parfume = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 310 | |         r#"
[INFO] [stdout] 311 | |         SELECT
[INFO] [stdout] 312 | |             p.id AS "id!",
[INFO] [stdout] ...   |
[INFO] [stdout] 339 | |         owner_id
[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` (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/service/parfume_svc.rs:351:20
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let soft = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 352 | |             r#"
[INFO] [stdout] 353 | |             UPDATE parfume
[INFO] [stdout] 354 | |             SET deleted_at = now()
[INFO] [stdout] ...   |
[INFO] [stdout] 357 | |             id
[INFO] [stdout] 358 | |         )
[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/service/parfume_svc.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 374 | /     sqlx::query!(
[INFO] [stdout] 375 | |         r#"
[INFO] [stdout] 376 | |         DELETE FROM batch_parfume_bottle bf
[INFO] [stdout] 377 | |         USING batch_parfume bp
[INFO] [stdout] ...   |
[INFO] [stdout] 381 | |         id
[INFO] [stdout] 382 | |     )
[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/service/parfume_svc.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 386 |     sqlx::query!("DELETE FROM batch_parfume WHERE parfume_id = $1", 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/service/parfume_svc.rs:390:5
[INFO] [stdout]     |
[INFO] [stdout] 390 |     sqlx::query!("DELETE FROM decant WHERE parfume_id = $1", 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/service/parfume_svc.rs:394:5
[INFO] [stdout]     |
[INFO] [stdout] 394 |     sqlx::query!("DELETE FROM parfume WHERE id = $1", 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/service/parfume_svc.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 | /             sqlx::query_as!(
[INFO] [stdout] 473 | |                 ParfumeRankingRow,
[INFO] [stdout] 474 | |                 r#"
[INFO] [stdout] 475 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 519 | |                 offset
[INFO] [stdout] 520 | |             )
[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/service/parfume_svc.rs:525:13
[INFO] [stdout]     |
[INFO] [stdout] 525 | /             sqlx::query_as!(
[INFO] [stdout] 526 | |                 ParfumeRankingRow,
[INFO] [stdout] 527 | |                 r#"
[INFO] [stdout] 528 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 568 | |                 offset
[INFO] [stdout] 569 | |             )
[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/service/parfume_svc.rs:635:23
[INFO] [stdout]     |
[INFO] [stdout] 635 |       let parfume_row = sqlx::query!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 636 | |         r#"
[INFO] [stdout] 637 | |         SELECT p.id AS "id!"
[INFO] [stdout] 638 | |         FROM parfume p
[INFO] [stdout] ...   |
[INFO] [stdout] 646 | |         owner_id
[INFO] [stdout] 647 | |     )
[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/service/parfume_svc.rs:665:24
[INFO] [stdout]     |
[INFO] [stdout] 665 |               let rows = sqlx::query!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 666 | |                 r#"
[INFO] [stdout] 667 | |                 WITH lines AS (
[INFO] [stdout] 668 | |                     SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 695 | |                 end_naive.and_utc()
[INFO] [stdout] 696 | |             )
[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/service/parfume_svc.rs:731:24
[INFO] [stdout]     |
[INFO] [stdout] 731 |               let rows = sqlx::query!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 732 | |                 r#"
[INFO] [stdout] 733 | |                 WITH lines AS (
[INFO] [stdout] 734 | |                     SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 761 | |                 end_date.and_hms_opt(0, 0, 0).expect("jam 00:00:00 selalu valid").and_utc()
[INFO] [stdout] 762 | |             )
[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/service/parfume_svc.rs:786:24
[INFO] [stdout]     |
[INFO] [stdout] 786 |               let rows = sqlx::query!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 787 | |                 r#"
[INFO] [stdout] 788 | |                 WITH lines AS (
[INFO] [stdout] 789 | |                     SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 812 | |                 parfume_id
[INFO] [stdout] 813 | |             )
[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/service/batch_svc.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 |       let batch = sqlx::query_as!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 27 | |         BatchResponse,
[INFO] [stdout] 28 | |         r#"
[INFO] [stdout] 29 | |         WITH inserted AS (
[INFO] [stdout] ...  |
[INFO] [stdout] 62 | |         req.purchase_price
[INFO] [stdout] 63 | |     )
[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/service/batch_svc.rs:85:15
[INFO] [stdout]     |
[INFO] [stdout]  85 |       let res = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout]  86 | |         BatchResponse,
[INFO] [stdout]  87 | |         r#"
[INFO] [stdout]  88 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 105 | |         owner_id
[INFO] [stdout] 106 | |     )
[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/service/batch_svc.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |       let batch = sqlx::query!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 121 | |         r#"
[INFO] [stdout] 122 | |         SELECT
[INFO] [stdout] 123 | |             bf.quantity_ml,
[INFO] [stdout] ...   |
[INFO] [stdout] 142 | |         id,
[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` (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/service/batch_svc.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |       let batch = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 171 | |         BatchResponse,
[INFO] [stdout] 172 | |         r#"
[INFO] [stdout] 173 | |         UPDATE batch_parfume
[INFO] [stdout] ...   |
[INFO] [stdout] 185 | |         id
[INFO] [stdout] 186 | |     )
[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/service/batch_svc.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 208 |       let batch = sqlx::query!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 209 | |         r#"
[INFO] [stdout] 210 | |         SELECT
[INFO] [stdout] 211 | |             bp.id AS "id!",
[INFO] [stdout] ...   |
[INFO] [stdout] 233 | |         owner_id
[INFO] [stdout] 234 | |     )
[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/service/batch_svc.rs:245:20
[INFO] [stdout]     |
[INFO] [stdout] 245 |           let soft = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 246 | |             r#"
[INFO] [stdout] 247 | |             UPDATE batch_parfume
[INFO] [stdout] 248 | |             SET deleted_at = now()
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |             id
[INFO] [stdout] 252 | |         )
[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/service/batch_svc.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 | /     sqlx::query!(
[INFO] [stdout] 269 | |         r#"
[INFO] [stdout] 270 | |         DELETE FROM batch_parfume_bottle
[INFO] [stdout] 271 | |         WHERE batch_parfume_id = $1
[INFO] [stdout] 272 | |         "#,
[INFO] [stdout] 273 | |         id
[INFO] [stdout] 274 | |     )
[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/service/batch_svc.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | /     sqlx::query!(
[INFO] [stdout] 279 | |         r#"
[INFO] [stdout] 280 | |         DELETE FROM batch_parfume
[INFO] [stdout] 281 | |         WHERE id = $1
[INFO] [stdout] 282 | |         "#,
[INFO] [stdout] 283 | |         id
[INFO] [stdout] 284 | |     )
[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/service/decant_svc.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |       let query = sqlx::query!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 19 | |         r#"
[INFO] [stdout] 20 | |         INSERT INTO decant (
[INFO] [stdout] 21 | |             parfume_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 43 | |         req.is_active
[INFO] [stdout] 44 | |     )
[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/service/decant_svc.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 |       let res = sqlx::query_as!(
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 64 | |         DecantResponse,
[INFO] [stdout] 65 | |         r#"
[INFO] [stdout] 66 | |         SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |         owner_id
[INFO] [stdout] 85 | |     )
[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/service/decant_svc.rs:98:30
[INFO] [stdout]     |
[INFO] [stdout]  98 |       let res_fallback = match sqlx::query_as!(
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout]  99 | |         CreateDecant,
[INFO] [stdout] 100 | |         r#"
[INFO] [stdout] 101 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 115 | |         id
[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_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/service/decant_svc.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |       let query = sqlx::query!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 145 | |         r#"
[INFO] [stdout] 146 | |     UPDATE decant d
[INFO] [stdout] 147 | |     SET size_ml = $1,
[INFO] [stdout] ...   |
[INFO] [stdout] 164 | |         id
[INFO] [stdout] 165 | |     )
[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/service/decant_svc.rs:184:18
[INFO] [stdout]     |
[INFO] [stdout] 184 |       let decant = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 185 | |         r#"
[INFO] [stdout] 186 | |         SELECT
[INFO] [stdout] 187 | |             d.id AS "id!",
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |         owner_id
[INFO] [stdout] 202 | |     )
[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/service/decant_svc.rs:213:20
[INFO] [stdout]     |
[INFO] [stdout] 213 |           let soft = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 214 | |             r#"
[INFO] [stdout] 215 | |             UPDATE decant
[INFO] [stdout] 216 | |             SET deleted_at = now()
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |             id
[INFO] [stdout] 220 | |         )
[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/service/decant_svc.rs:234:18
[INFO] [stdout]     |
[INFO] [stdout] 234 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 235 | |         r#"
[INFO] [stdout] 236 | |         DELETE FROM decant d
[INFO] [stdout] 237 | |         WHERE d.id = $1
[INFO] [stdout] 238 | |         "#,
[INFO] [stdout] 239 | |         id
[INFO] [stdout] 240 | |     )
[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/service/bottle_svc.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |       let cap = sqlx::query!(
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 48 | |         r#"
[INFO] [stdout] 49 | |         SELECT
[INFO] [stdout] 50 | |             bp.quantity_ml
[INFO] [stdout] ...  |
[INFO] [stdout] 63 | |         batch_id
[INFO] [stdout] 64 | |     )
[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/service/bottle_svc.rs:83:18
[INFO] [stdout]     |
[INFO] [stdout]  83 |       let bottle = sqlx::query_as!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout]  84 | |         BotolResponse,
[INFO] [stdout]  85 | |         r#"
[INFO] [stdout]  86 | |         WITH inserted AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |         owner_id
[INFO] [stdout] 119 | |     )
[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/service/bottle_svc.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | /     sqlx::query!(
[INFO] [stdout] 132 | |         r#"
[INFO] [stdout] 133 | |         INSERT INTO stock_movements (
[INFO] [stdout] 134 | |             order_items_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | |         MovementReason::Initial as MovementReason,
[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/service/bottle_svc.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | /     sqlx::query_as!(
[INFO] [stdout] 162 | |         BotolResponse,
[INFO] [stdout] 163 | |         r#"
[INFO] [stdout] 164 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | |         owner_id
[INFO] [stdout] 181 | |     )
[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/service/bottle_svc.rs:197:22
[INFO] [stdout]     |
[INFO] [stdout] 197 |           let bottle = sqlx::query_as!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 198 | |             BotolResponse,
[INFO] [stdout] 199 | |             r#"
[INFO] [stdout] 200 | |             UPDATE batch_parfume_bottle bf
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |             owner_id
[INFO] [stdout] 220 | |         )
[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/service/bottle_svc.rs:243:15
[INFO] [stdout]     |
[INFO] [stdout] 243 |       let cap = sqlx::query!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 244 | |         r#"
[INFO] [stdout] 245 | |         SELECT
[INFO] [stdout] 246 | |             bp.quantity_ml,
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         owner_id
[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/service/bottle_svc.rs:281:18
[INFO] [stdout]     |
[INFO] [stdout] 281 |       let bottle = sqlx::query_as!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 282 | |         BotolResponse,
[INFO] [stdout] 283 | |         r#"
[INFO] [stdout] 284 | |         UPDATE batch_parfume_bottle bf
[INFO] [stdout] ...   |
[INFO] [stdout] 296 | |         id
[INFO] [stdout] 297 | |     )
[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/service/bottle_svc.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 | /         sqlx::query!(
[INFO] [stdout] 321 | |             r#"
[INFO] [stdout] 322 | |             INSERT INTO stock_movements (
[INFO] [stdout] 323 | |                 order_items_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 335 | |             MovementReason::Adjustment as MovementReason,
[INFO] [stdout] 336 | |         )
[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/service/bottle_svc.rs:351:18
[INFO] [stdout]     |
[INFO] [stdout] 351 |       let bottle = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 352 | |         r#"
[INFO] [stdout] 353 | |         SELECT
[INFO] [stdout] 354 | |             EXISTS (SELECT 1 FROM order_items oi WHERE oi.bottle_id = bf.id) AS "has_order!",
[INFO] [stdout] ...   |
[INFO] [stdout] 368 | |         owner_id
[INFO] [stdout] 369 | |     )
[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/service/bottle_svc.rs:380:20
[INFO] [stdout]     |
[INFO] [stdout] 380 |           let soft = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 381 | |             r#"
[INFO] [stdout] 382 | |             UPDATE batch_parfume_bottle
[INFO] [stdout] 383 | |             SET deleted_at = now()
[INFO] [stdout] ...   |
[INFO] [stdout] 386 | |             id
[INFO] [stdout] 387 | |         )
[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/service/bottle_svc.rs:401:18
[INFO] [stdout]     |
[INFO] [stdout] 401 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 402 | |         r#"
[INFO] [stdout] 403 | |         DELETE FROM batch_parfume_bottle bf
[INFO] [stdout] 404 | |         WHERE bf.id = $1
[INFO] [stdout] 405 | |         "#,
[INFO] [stdout] 406 | |         id
[INFO] [stdout] 407 | |     )
[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/service/bottle_svc.rs:423:15
[INFO] [stdout]     |
[INFO] [stdout] 423 |       let res = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 424 | |         BotolResponse,
[INFO] [stdout] 425 | |         r#"
[INFO] [stdout] 426 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 443 | |         owner_id
[INFO] [stdout] 444 | |     )
[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/service/order_svc.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |       let row = sqlx::query_as!(
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 38 | |         Lookup,
[INFO] [stdout] 39 | |         r#"
[INFO] [stdout] 40 | |         SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |         req.bottle_id,
[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/service/order_svc.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | /     sqlx::query!(
[INFO] [stdout] 126 | |         r#"
[INFO] [stdout] 127 | |         UPDATE batch_parfume_bottle bf
[INFO] [stdout] 128 | |         SET remaining_ml = bf.remaining_ml - $2
[INFO] [stdout] ...   |
[INFO] [stdout] 136 | |         consumption_bd
[INFO] [stdout] 137 | |     )
[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/service/order_svc.rs:147:20
[INFO] [stdout]     |
[INFO] [stdout] 147 |       let inserted = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 148 | |         r#"
[INFO] [stdout] 149 | |         INSERT INTO order_items (bottle_id, decant_id, total_price, quantity, price, status)
[INFO] [stdout] 150 | |         VALUES ($1, $2, $3, $4, $5, $6)
[INFO] [stdout] ...   |
[INFO] [stdout] 158 | |         OrderStatus::Success as OrderStatus
[INFO] [stdout] 159 | |     )
[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/service/order_svc.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | /     sqlx::query!(
[INFO] [stdout] 164 | |         r#"
[INFO] [stdout] 165 | |         INSERT INTO stock_movements (order_items_id, bottle_id, quantity, type, reason)
[INFO] [stdout] 166 | |         VALUES ($1, $2, $3, $4, $5)
[INFO] [stdout] ...   |
[INFO] [stdout] 172 | |         MovementReason::Sale as MovementReason,
[INFO] [stdout] 173 | |     )
[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/service/order_svc.rs:198:16
[INFO] [stdout]     |
[INFO] [stdout] 198 |       let peek = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 199 | |         r#"
[INFO] [stdout] 200 | |         SELECT
[INFO] [stdout] 201 | |             oi.id AS "id!",
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | |         owner_id
[INFO] [stdout] 223 | |     )
[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/service/order_svc.rs:252:15
[INFO] [stdout]     |
[INFO] [stdout] 252 |       let row = sqlx::query!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 253 | |         r#"
[INFO] [stdout] 254 | |         SELECT
[INFO] [stdout] 255 | |             oi.id AS "id!",
[INFO] [stdout] ...   |
[INFO] [stdout] 279 | |         owner_id
[INFO] [stdout] 280 | |     )
[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/service/order_svc.rs:322:5
[INFO] [stdout]     |
[INFO] [stdout] 322 | /     sqlx::query!(
[INFO] [stdout] 323 | |         r#"
[INFO] [stdout] 324 | |         UPDATE order_items
[INFO] [stdout] 325 | |         SET status = $2
[INFO] [stdout] ...   |
[INFO] [stdout] 329 | |         target_status as OrderStatus
[INFO] [stdout] 330 | |     )
[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/service/order_svc.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 334 | /     sqlx::query!(
[INFO] [stdout] 335 | |         r#"
[INFO] [stdout] 336 | |         UPDATE batch_parfume_bottle
[INFO] [stdout] 337 | |         SET remaining_ml = remaining_ml + $2
[INFO] [stdout] ...   |
[INFO] [stdout] 341 | |         consumption_bd
[INFO] [stdout] 342 | |     )
[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: `post`
[INFO] [stdout]  --> src/bin/nyaxum.rs:1:83
[INFO] [stdout]   |
[INFO] [stdout] 1 | use axum::{Json, Router, extract::{Path, Query}, http::StatusCode, routing::{get, post}};
[INFO] [stdout]   |                                                                                   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[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/service/order_svc.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | /     sqlx::query!(
[INFO] [stdout] 348 | |         r#"
[INFO] [stdout] 349 | |         INSERT INTO stock_movements (order_items_id, bottle_id, quantity, type, reason)
[INFO] [stdout] 350 | |         VALUES ($1, $2, $3, $4, $5)
[INFO] [stdout] ...   |
[INFO] [stdout] 356 | |         MovementReason::Refund as MovementReason,
[INFO] [stdout] 357 | |     )
[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/service/order_svc.rs:388:23
[INFO] [stdout]     |
[INFO] [stdout] 388 |       let total_items = sqlx::query_scalar!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 389 | |         r#"
[INFO] [stdout] 390 | |         SELECT COUNT(*) AS "count!"
[INFO] [stdout] 391 | |         FROM order_items oi
[INFO] [stdout] ...   |
[INFO] [stdout] 404 | |         owner_id
[INFO] [stdout] 405 | |     )
[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/service/order_svc.rs:409:15
[INFO] [stdout]     |
[INFO] [stdout] 409 |       let res = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 410 | |         OrderResponse,
[INFO] [stdout] 411 | |         r#"
[INFO] [stdout] 412 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 441 | |         offset
[INFO] [stdout] 442 | |     )
[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/service/revenue_svc.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 |       let row = sqlx::query!(
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 28 | |         r#"
[INFO] [stdout] 29 | |         WITH lines AS (
[INFO] [stdout] 30 | |             SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 80 | |         owner_id
[INFO] [stdout] 81 | |     )
[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/service/revenue_svc.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 | /             sqlx::query_as!(
[INFO] [stdout] 152 | |                 RevenueSeriesRow,
[INFO] [stdout] 153 | |                 r#"
[INFO] [stdout] 154 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 185 | |                 end
[INFO] [stdout] 186 | |             )
[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/service/revenue_svc.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 | /             sqlx::query_as!(
[INFO] [stdout] 192 | |                 RevenueSeriesRow,
[INFO] [stdout] 193 | |                 r#"
[INFO] [stdout] 194 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | |                 end
[INFO] [stdout] 226 | |             )
[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/service/revenue_svc.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 | /             sqlx::query_as!(
[INFO] [stdout] 232 | |                 RevenueSeriesRow,
[INFO] [stdout] 233 | |                 r#"
[INFO] [stdout] 234 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 265 | |                 end
[INFO] [stdout] 266 | |             )
[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/service/revenue_svc.rs:357:24
[INFO] [stdout]     |
[INFO] [stdout] 357 |               let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 358 | |                 RevenueHourlyRow,
[INFO] [stdout] 359 | |                 r#"
[INFO] [stdout] 360 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 391 | |                 end_naive.and_utc()
[INFO] [stdout] 392 | |             )
[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/service/revenue_svc.rs:432:24
[INFO] [stdout]     |
[INFO] [stdout] 432 |               let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 433 | |                 RevenueSeriesRow,
[INFO] [stdout] 434 | |                 r#"
[INFO] [stdout] 435 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 472 | |                     .and_utc()
[INFO] [stdout] 473 | |             )
[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/service/revenue_svc.rs:505:24
[INFO] [stdout]     |
[INFO] [stdout] 505 |               let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 506 | |                 RevenueSeriesRow,
[INFO] [stdout] 507 | |                 r#"
[INFO] [stdout] 508 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 535 | |                 owner_id
[INFO] [stdout] 536 | |             )
[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] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/dto/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[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: `uuid::Uuid`
[INFO] [stdout]  --> src/dto/request/batch_req.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/dto/request/decant_req.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bigdecimal::BigDecimal`
[INFO] [stdout]  --> src/dto/response/brand_res.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bigdecimal::BigDecimal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]  --> src/dto/response/parfume_res.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/handlers/order.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::service::brands_svc::svc_get_all_brands`
[INFO] [stdout]   --> src/route/route.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::service::brands_svc::svc_get_all_brands;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BottleStatus`
[INFO] [stdout]  --> src/service/bottle_svc.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |         request::botol_req::{BottleStatus, CreateBottle, UpdateBottle},
[INFO] [stdout]   |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MovementReason` and `MovementType`
[INFO] [stdout]   --> src/service/order_svc.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 |     service::bottle_svc::{MovementReason, MovementType},
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[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/service/user_svc.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |       let users = sqlx::query_as!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 24 | |         UserProfile,
[INFO] [stdout] 25 | |         r#"
[INFO] [stdout] 26 | |             SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 32 | |         "#
[INFO] [stdout] 33 | |     )
[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/service/user_svc.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |       let users = sqlx::query_as!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 45 | |         UserProfile,
[INFO] [stdout] 46 | |         r#"
[INFO] [stdout] 47 | |         SELECT id, username, email, created_at
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | |         target_id
[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/service/user_svc.rs:103:18
[INFO] [stdout]     |
[INFO] [stdout] 103 |       let respon = sqlx::query_as!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 104 | |         UserProfile,
[INFO] [stdout] 105 | |         r#"
[INFO] [stdout] 106 | |         INSERT INTO users (username, email, password_hash, role)
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | |         seller as RoleModel
[INFO] [stdout] 113 | |     )
[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/service/user_svc.rs:140:19
[INFO] [stdout]     |
[INFO] [stdout] 140 |       let current = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 141 | |         r#"SELECT username, email, password_hash FROM users WHERE id = $1"#,
[INFO] [stdout] 142 | |         id
[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` (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/service/user_svc.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |       let row = sqlx::query!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 199 | |         r#"
[INFO] [stdout] 200 | |         UPDATE users
[INFO] [stdout] 201 | |         SET username = $1, email = $2, password_hash = $3
[INFO] [stdout] ...   |
[INFO] [stdout] 208 | |         id
[INFO] [stdout] 209 | |     )
[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/service/user_svc.rs:224:24
[INFO] [stdout]     |
[INFO] [stdout] 224 |       let owned_brands = sqlx::query_scalar!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 225 | |         r#"SELECT COUNT(*) AS "count!" FROM brands WHERE owner_id = $1"#,
[INFO] [stdout] 226 | |         id
[INFO] [stdout] 227 | |     )
[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/service/user_svc.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let result = sqlx::query!("DELETE FROM users WHERE id = $1", 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/service/user_svc.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |       let record = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 272 | |         r#"
[INFO] [stdout] 273 | |         SELECT rt.user_id, rt.token_hash, rt.expire_at, u.role AS "role: RoleModel"
[INFO] [stdout] 274 | |         FROM refresh_token rt
[INFO] [stdout] ...   |
[INFO] [stdout] 278 | |         family_uuid
[INFO] [stdout] 279 | |     )
[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/service/user_svc.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 | /         sqlx::query!(
[INFO] [stdout] 297 | |             r#"DELETE FROM refresh_token WHERE family_id = $1"#,
[INFO] [stdout] 298 | |             family_uuid
[INFO] [stdout] 299 | |         )
[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/service/user_svc.rs:312:9
[INFO] [stdout]     |
[INFO] [stdout] 312 | /         sqlx::query!(
[INFO] [stdout] 313 | |             r#"DELETE FROM refresh_token WHERE family_id = $1"#,
[INFO] [stdout] 314 | |             family_uuid
[INFO] [stdout] 315 | |         )
[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/service/user_svc.rs:333:25
[INFO] [stdout]     |
[INFO] [stdout] 333 |       let update_result = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 334 | |         r#"
[INFO] [stdout] 335 | |         UPDATE refresh_token
[INFO] [stdout] 336 | |         SET token_hash = $1,
[INFO] [stdout] ...   |
[INFO] [stdout] 342 | |         family_uuid
[INFO] [stdout] 343 | |     )
[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/service/user_svc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 | /     sqlx::query!(
[INFO] [stdout] 368 | |         r#"DELETE FROM refresh_token WHERE family_id = $1"#,
[INFO] [stdout] 369 | |         family_uuid
[INFO] [stdout] 370 | |     )
[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/service/brands_svc.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let brand = sqlx::query_as!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 35 | |         Brand,
[INFO] [stdout] 36 | |         r#"
[INFO] [stdout] 37 | |         INSERT INTO brands (owner_id, name)
[INFO] [stdout] ...  |
[INFO] [stdout] 45 | |         name
[INFO] [stdout] 46 | |     )
[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/service/brands_svc.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let brands = sqlx::query_as!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 58 | |         Brand,
[INFO] [stdout] 59 | |         r#"
[INFO] [stdout] 60 | |         SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |         owner_id
[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/service/brands_svc.rs:94:17
[INFO] [stdout]     |
[INFO] [stdout]  94 |       let brand = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout]  95 | |         Brand,
[INFO] [stdout]  96 | |         r#"
[INFO] [stdout]  97 | |         UPDATE brands
[INFO] [stdout] ...   |
[INFO] [stdout] 107 | |         owner_id
[INFO] [stdout] 108 | |     )
[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/service/brands_svc.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |       let brand = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 131 | |         Brand,
[INFO] [stdout] 132 | |         r#"
[INFO] [stdout] 133 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 148 | |         id
[INFO] [stdout] 149 | |     )
[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/service/brands_svc.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |       let brand = sqlx::query!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 162 | |         r#"
[INFO] [stdout] 163 | |         SELECT
[INFO] [stdout] 164 | |             b.id AS "id!",
[INFO] [stdout] ...   |
[INFO] [stdout] 192 | |         owner_id
[INFO] [stdout] 193 | |     )
[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/service/brands_svc.rs:204:20
[INFO] [stdout]     |
[INFO] [stdout] 204 |           let soft = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 205 | |             r#"
[INFO] [stdout] 206 | |             UPDATE brands
[INFO] [stdout] 207 | |             SET deleted_at = now()
[INFO] [stdout] ...   |
[INFO] [stdout] 210 | |             id
[INFO] [stdout] 211 | |         )
[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/service/brands_svc.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | /     sqlx::query!(
[INFO] [stdout] 228 | |         r#"
[INFO] [stdout] 229 | |         DELETE FROM batch_parfume_bottle bf
[INFO] [stdout] 230 | |         USING batch_parfume bp, parfume p
[INFO] [stdout] ...   |
[INFO] [stdout] 235 | |         id
[INFO] [stdout] 236 | |     )
[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/service/brands_svc.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 240 | /     sqlx::query!(
[INFO] [stdout] 241 | |         r#"
[INFO] [stdout] 242 | |         DELETE FROM batch_parfume bp
[INFO] [stdout] 243 | |         USING parfume p
[INFO] [stdout] ...   |
[INFO] [stdout] 247 | |         id
[INFO] [stdout] 248 | |     )
[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/service/brands_svc.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | /     sqlx::query!(
[INFO] [stdout] 253 | |         r#"
[INFO] [stdout] 254 | |         DELETE FROM decant d
[INFO] [stdout] 255 | |         USING parfume p
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |         id
[INFO] [stdout] 260 | |     )
[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/service/brands_svc.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     sqlx::query!("DELETE FROM parfume WHERE brands_id = $1", 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/service/brands_svc.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     sqlx::query!("DELETE FROM brands WHERE id = $1", 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/service/parfume_svc.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |       let res = sqlx::query_as!(
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 30 | |         ParfumeResponse,
[INFO] [stdout] 31 | |         r#"
[INFO] [stdout] 32 | |         SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 48 | |         owner_id
[INFO] [stdout] 49 | |     )
[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/service/parfume_svc.rs:99:15
[INFO] [stdout]     |
[INFO] [stdout]  99 |       let res = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 100 | |         ParfumeResponse,
[INFO] [stdout] 101 | |         r#"
[INFO] [stdout] 102 | |         WITH inserted AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |         desc,
[INFO] [stdout] 140 | |     )
[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/service/parfume_svc.rs:191:19
[INFO] [stdout]     |
[INFO] [stdout] 191 |       let parfume = sqlx::query_as!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 192 | |         ParfumeResponse,
[INFO] [stdout] 193 | |         r#"
[INFO] [stdout] 194 | |         UPDATE parfume p
[INFO] [stdout] ...   |
[INFO] [stdout] 216 | |         desc,
[INFO] [stdout] 217 | |     )
[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/service/parfume_svc.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 |       let res = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 239 | |         ParfumeResponse,
[INFO] [stdout] 240 | |         r#"
[INFO] [stdout] 241 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 255 | |         owner_id,
[INFO] [stdout] 256 | |     )
[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/service/parfume_svc.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |       let res = match sqlx::query_as!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |         ParfumeResponse,
[INFO] [stdout] 270 | |         r#"
[INFO] [stdout] 271 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 287 | |         owner_id
[INFO] [stdout] 288 | |     )
[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/service/parfume_svc.rs:309:19
[INFO] [stdout]     |
[INFO] [stdout] 309 |       let parfume = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 310 | |         r#"
[INFO] [stdout] 311 | |         SELECT
[INFO] [stdout] 312 | |             p.id AS "id!",
[INFO] [stdout] ...   |
[INFO] [stdout] 339 | |         owner_id
[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` (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/service/parfume_svc.rs:351:20
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let soft = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 352 | |             r#"
[INFO] [stdout] 353 | |             UPDATE parfume
[INFO] [stdout] 354 | |             SET deleted_at = now()
[INFO] [stdout] ...   |
[INFO] [stdout] 357 | |             id
[INFO] [stdout] 358 | |         )
[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/service/parfume_svc.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 374 | /     sqlx::query!(
[INFO] [stdout] 375 | |         r#"
[INFO] [stdout] 376 | |         DELETE FROM batch_parfume_bottle bf
[INFO] [stdout] 377 | |         USING batch_parfume bp
[INFO] [stdout] ...   |
[INFO] [stdout] 381 | |         id
[INFO] [stdout] 382 | |     )
[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/service/parfume_svc.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 386 |     sqlx::query!("DELETE FROM batch_parfume WHERE parfume_id = $1", 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/service/parfume_svc.rs:390:5
[INFO] [stdout]     |
[INFO] [stdout] 390 |     sqlx::query!("DELETE FROM decant WHERE parfume_id = $1", 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/service/parfume_svc.rs:394:5
[INFO] [stdout]     |
[INFO] [stdout] 394 |     sqlx::query!("DELETE FROM parfume WHERE id = $1", 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/service/parfume_svc.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 | /             sqlx::query_as!(
[INFO] [stdout] 473 | |                 ParfumeRankingRow,
[INFO] [stdout] 474 | |                 r#"
[INFO] [stdout] 475 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 519 | |                 offset
[INFO] [stdout] 520 | |             )
[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/service/parfume_svc.rs:525:13
[INFO] [stdout]     |
[INFO] [stdout] 525 | /             sqlx::query_as!(
[INFO] [stdout] 526 | |                 ParfumeRankingRow,
[INFO] [stdout] 527 | |                 r#"
[INFO] [stdout] 528 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 568 | |                 offset
[INFO] [stdout] 569 | |             )
[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/service/parfume_svc.rs:635:23
[INFO] [stdout]     |
[INFO] [stdout] 635 |       let parfume_row = sqlx::query!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 636 | |         r#"
[INFO] [stdout] 637 | |         SELECT p.id AS "id!"
[INFO] [stdout] 638 | |         FROM parfume p
[INFO] [stdout] ...   |
[INFO] [stdout] 646 | |         owner_id
[INFO] [stdout] 647 | |     )
[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/service/parfume_svc.rs:665:24
[INFO] [stdout]     |
[INFO] [stdout] 665 |               let rows = sqlx::query!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 666 | |                 r#"
[INFO] [stdout] 667 | |                 WITH lines AS (
[INFO] [stdout] 668 | |                     SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 695 | |                 end_naive.and_utc()
[INFO] [stdout] 696 | |             )
[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/service/parfume_svc.rs:731:24
[INFO] [stdout]     |
[INFO] [stdout] 731 |               let rows = sqlx::query!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 732 | |                 r#"
[INFO] [stdout] 733 | |                 WITH lines AS (
[INFO] [stdout] 734 | |                     SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 761 | |                 end_date.and_hms_opt(0, 0, 0).expect("jam 00:00:00 selalu valid").and_utc()
[INFO] [stdout] 762 | |             )
[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/service/parfume_svc.rs:786:24
[INFO] [stdout]     |
[INFO] [stdout] 786 |               let rows = sqlx::query!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 787 | |                 r#"
[INFO] [stdout] 788 | |                 WITH lines AS (
[INFO] [stdout] 789 | |                     SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 812 | |                 parfume_id
[INFO] [stdout] 813 | |             )
[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/service/batch_svc.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 |       let batch = sqlx::query_as!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 27 | |         BatchResponse,
[INFO] [stdout] 28 | |         r#"
[INFO] [stdout] 29 | |         WITH inserted AS (
[INFO] [stdout] ...  |
[INFO] [stdout] 62 | |         req.purchase_price
[INFO] [stdout] 63 | |     )
[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/service/batch_svc.rs:85:15
[INFO] [stdout]     |
[INFO] [stdout]  85 |       let res = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout]  86 | |         BatchResponse,
[INFO] [stdout]  87 | |         r#"
[INFO] [stdout]  88 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 105 | |         owner_id
[INFO] [stdout] 106 | |     )
[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/service/batch_svc.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |       let batch = sqlx::query!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 121 | |         r#"
[INFO] [stdout] 122 | |         SELECT
[INFO] [stdout] 123 | |             bf.quantity_ml,
[INFO] [stdout] ...   |
[INFO] [stdout] 142 | |         id,
[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` (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/service/batch_svc.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |       let batch = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 171 | |         BatchResponse,
[INFO] [stdout] 172 | |         r#"
[INFO] [stdout] 173 | |         UPDATE batch_parfume
[INFO] [stdout] ...   |
[INFO] [stdout] 185 | |         id
[INFO] [stdout] 186 | |     )
[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/service/batch_svc.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 208 |       let batch = sqlx::query!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 209 | |         r#"
[INFO] [stdout] 210 | |         SELECT
[INFO] [stdout] 211 | |             bp.id AS "id!",
[INFO] [stdout] ...   |
[INFO] [stdout] 233 | |         owner_id
[INFO] [stdout] 234 | |     )
[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/service/batch_svc.rs:245:20
[INFO] [stdout]     |
[INFO] [stdout] 245 |           let soft = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 246 | |             r#"
[INFO] [stdout] 247 | |             UPDATE batch_parfume
[INFO] [stdout] 248 | |             SET deleted_at = now()
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |             id
[INFO] [stdout] 252 | |         )
[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/service/batch_svc.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 | /     sqlx::query!(
[INFO] [stdout] 269 | |         r#"
[INFO] [stdout] 270 | |         DELETE FROM batch_parfume_bottle
[INFO] [stdout] 271 | |         WHERE batch_parfume_id = $1
[INFO] [stdout] 272 | |         "#,
[INFO] [stdout] 273 | |         id
[INFO] [stdout] 274 | |     )
[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/service/batch_svc.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | /     sqlx::query!(
[INFO] [stdout] 279 | |         r#"
[INFO] [stdout] 280 | |         DELETE FROM batch_parfume
[INFO] [stdout] 281 | |         WHERE id = $1
[INFO] [stdout] 282 | |         "#,
[INFO] [stdout] 283 | |         id
[INFO] [stdout] 284 | |     )
[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/service/decant_svc.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |       let query = sqlx::query!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 19 | |         r#"
[INFO] [stdout] 20 | |         INSERT INTO decant (
[INFO] [stdout] 21 | |             parfume_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 43 | |         req.is_active
[INFO] [stdout] 44 | |     )
[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/service/decant_svc.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 |       let res = sqlx::query_as!(
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 64 | |         DecantResponse,
[INFO] [stdout] 65 | |         r#"
[INFO] [stdout] 66 | |         SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |         owner_id
[INFO] [stdout] 85 | |     )
[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/service/decant_svc.rs:98:30
[INFO] [stdout]     |
[INFO] [stdout]  98 |       let res_fallback = match sqlx::query_as!(
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout]  99 | |         CreateDecant,
[INFO] [stdout] 100 | |         r#"
[INFO] [stdout] 101 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 115 | |         id
[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_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/service/decant_svc.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |       let query = sqlx::query!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 145 | |         r#"
[INFO] [stdout] 146 | |     UPDATE decant d
[INFO] [stdout] 147 | |     SET size_ml = $1,
[INFO] [stdout] ...   |
[INFO] [stdout] 164 | |         id
[INFO] [stdout] 165 | |     )
[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/service/decant_svc.rs:184:18
[INFO] [stdout]     |
[INFO] [stdout] 184 |       let decant = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 185 | |         r#"
[INFO] [stdout] 186 | |         SELECT
[INFO] [stdout] 187 | |             d.id AS "id!",
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |         owner_id
[INFO] [stdout] 202 | |     )
[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/service/decant_svc.rs:213:20
[INFO] [stdout]     |
[INFO] [stdout] 213 |           let soft = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 214 | |             r#"
[INFO] [stdout] 215 | |             UPDATE decant
[INFO] [stdout] 216 | |             SET deleted_at = now()
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |             id
[INFO] [stdout] 220 | |         )
[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/service/decant_svc.rs:234:18
[INFO] [stdout]     |
[INFO] [stdout] 234 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 235 | |         r#"
[INFO] [stdout] 236 | |         DELETE FROM decant d
[INFO] [stdout] 237 | |         WHERE d.id = $1
[INFO] [stdout] 238 | |         "#,
[INFO] [stdout] 239 | |         id
[INFO] [stdout] 240 | |     )
[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/service/bottle_svc.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |       let cap = sqlx::query!(
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 48 | |         r#"
[INFO] [stdout] 49 | |         SELECT
[INFO] [stdout] 50 | |             bp.quantity_ml
[INFO] [stdout] ...  |
[INFO] [stdout] 63 | |         batch_id
[INFO] [stdout] 64 | |     )
[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/service/bottle_svc.rs:83:18
[INFO] [stdout]     |
[INFO] [stdout]  83 |       let bottle = sqlx::query_as!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout]  84 | |         BotolResponse,
[INFO] [stdout]  85 | |         r#"
[INFO] [stdout]  86 | |         WITH inserted AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |         owner_id
[INFO] [stdout] 119 | |     )
[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/service/bottle_svc.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | /     sqlx::query!(
[INFO] [stdout] 132 | |         r#"
[INFO] [stdout] 133 | |         INSERT INTO stock_movements (
[INFO] [stdout] 134 | |             order_items_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | |         MovementReason::Initial as MovementReason,
[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/service/bottle_svc.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | /     sqlx::query_as!(
[INFO] [stdout] 162 | |         BotolResponse,
[INFO] [stdout] 163 | |         r#"
[INFO] [stdout] 164 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | |         owner_id
[INFO] [stdout] 181 | |     )
[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/service/bottle_svc.rs:197:22
[INFO] [stdout]     |
[INFO] [stdout] 197 |           let bottle = sqlx::query_as!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 198 | |             BotolResponse,
[INFO] [stdout] 199 | |             r#"
[INFO] [stdout] 200 | |             UPDATE batch_parfume_bottle bf
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |             owner_id
[INFO] [stdout] 220 | |         )
[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/service/bottle_svc.rs:243:15
[INFO] [stdout]     |
[INFO] [stdout] 243 |       let cap = sqlx::query!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 244 | |         r#"
[INFO] [stdout] 245 | |         SELECT
[INFO] [stdout] 246 | |             bp.quantity_ml,
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         owner_id
[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/service/bottle_svc.rs:281:18
[INFO] [stdout]     |
[INFO] [stdout] 281 |       let bottle = sqlx::query_as!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 282 | |         BotolResponse,
[INFO] [stdout] 283 | |         r#"
[INFO] [stdout] 284 | |         UPDATE batch_parfume_bottle bf
[INFO] [stdout] ...   |
[INFO] [stdout] 296 | |         id
[INFO] [stdout] 297 | |     )
[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/service/bottle_svc.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 | /         sqlx::query!(
[INFO] [stdout] 321 | |             r#"
[INFO] [stdout] 322 | |             INSERT INTO stock_movements (
[INFO] [stdout] 323 | |                 order_items_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 335 | |             MovementReason::Adjustment as MovementReason,
[INFO] [stdout] 336 | |         )
[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/service/bottle_svc.rs:351:18
[INFO] [stdout]     |
[INFO] [stdout] 351 |       let bottle = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 352 | |         r#"
[INFO] [stdout] 353 | |         SELECT
[INFO] [stdout] 354 | |             EXISTS (SELECT 1 FROM order_items oi WHERE oi.bottle_id = bf.id) AS "has_order!",
[INFO] [stdout] ...   |
[INFO] [stdout] 368 | |         owner_id
[INFO] [stdout] 369 | |     )
[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/service/bottle_svc.rs:380:20
[INFO] [stdout]     |
[INFO] [stdout] 380 |           let soft = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 381 | |             r#"
[INFO] [stdout] 382 | |             UPDATE batch_parfume_bottle
[INFO] [stdout] 383 | |             SET deleted_at = now()
[INFO] [stdout] ...   |
[INFO] [stdout] 386 | |             id
[INFO] [stdout] 387 | |         )
[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/service/bottle_svc.rs:401:18
[INFO] [stdout]     |
[INFO] [stdout] 401 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 402 | |         r#"
[INFO] [stdout] 403 | |         DELETE FROM batch_parfume_bottle bf
[INFO] [stdout] 404 | |         WHERE bf.id = $1
[INFO] [stdout] 405 | |         "#,
[INFO] [stdout] 406 | |         id
[INFO] [stdout] 407 | |     )
[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/service/bottle_svc.rs:423:15
[INFO] [stdout]     |
[INFO] [stdout] 423 |       let res = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 424 | |         BotolResponse,
[INFO] [stdout] 425 | |         r#"
[INFO] [stdout] 426 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 443 | |         owner_id
[INFO] [stdout] 444 | |     )
[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/service/order_svc.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |       let row = sqlx::query_as!(
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 38 | |         Lookup,
[INFO] [stdout] 39 | |         r#"
[INFO] [stdout] 40 | |         SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |         req.bottle_id,
[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/service/order_svc.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | /     sqlx::query!(
[INFO] [stdout] 126 | |         r#"
[INFO] [stdout] 127 | |         UPDATE batch_parfume_bottle bf
[INFO] [stdout] 128 | |         SET remaining_ml = bf.remaining_ml - $2
[INFO] [stdout] ...   |
[INFO] [stdout] 136 | |         consumption_bd
[INFO] [stdout] 137 | |     )
[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/service/order_svc.rs:147:20
[INFO] [stdout]     |
[INFO] [stdout] 147 |       let inserted = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 148 | |         r#"
[INFO] [stdout] 149 | |         INSERT INTO order_items (bottle_id, decant_id, total_price, quantity, price, status)
[INFO] [stdout] 150 | |         VALUES ($1, $2, $3, $4, $5, $6)
[INFO] [stdout] ...   |
[INFO] [stdout] 158 | |         OrderStatus::Success as OrderStatus
[INFO] [stdout] 159 | |     )
[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/service/order_svc.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | /     sqlx::query!(
[INFO] [stdout] 164 | |         r#"
[INFO] [stdout] 165 | |         INSERT INTO stock_movements (order_items_id, bottle_id, quantity, type, reason)
[INFO] [stdout] 166 | |         VALUES ($1, $2, $3, $4, $5)
[INFO] [stdout] ...   |
[INFO] [stdout] 172 | |         MovementReason::Sale as MovementReason,
[INFO] [stdout] 173 | |     )
[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/service/order_svc.rs:198:16
[INFO] [stdout]     |
[INFO] [stdout] 198 |       let peek = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 199 | |         r#"
[INFO] [stdout] 200 | |         SELECT
[INFO] [stdout] 201 | |             oi.id AS "id!",
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | |         owner_id
[INFO] [stdout] 223 | |     )
[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/service/order_svc.rs:252:15
[INFO] [stdout]     |
[INFO] [stdout] 252 |       let row = sqlx::query!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 253 | |         r#"
[INFO] [stdout] 254 | |         SELECT
[INFO] [stdout] 255 | |             oi.id AS "id!",
[INFO] [stdout] ...   |
[INFO] [stdout] 279 | |         owner_id
[INFO] [stdout] 280 | |     )
[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/service/order_svc.rs:322:5
[INFO] [stdout]     |
[INFO] [stdout] 322 | /     sqlx::query!(
[INFO] [stdout] 323 | |         r#"
[INFO] [stdout] 324 | |         UPDATE order_items
[INFO] [stdout] 325 | |         SET status = $2
[INFO] [stdout] ...   |
[INFO] [stdout] 329 | |         target_status as OrderStatus
[INFO] [stdout] 330 | |     )
[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/service/order_svc.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 334 | /     sqlx::query!(
[INFO] [stdout] 335 | |         r#"
[INFO] [stdout] 336 | |         UPDATE batch_parfume_bottle
[INFO] [stdout] 337 | |         SET remaining_ml = remaining_ml + $2
[INFO] [stdout] ...   |
[INFO] [stdout] 341 | |         consumption_bd
[INFO] [stdout] 342 | |     )
[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/service/order_svc.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | /     sqlx::query!(
[INFO] [stdout] 348 | |         r#"
[INFO] [stdout] 349 | |         INSERT INTO stock_movements (order_items_id, bottle_id, quantity, type, reason)
[INFO] [stdout] 350 | |         VALUES ($1, $2, $3, $4, $5)
[INFO] [stdout] ...   |
[INFO] [stdout] 356 | |         MovementReason::Refund as MovementReason,
[INFO] [stdout] 357 | |     )
[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/service/order_svc.rs:388:23
[INFO] [stdout]     |
[INFO] [stdout] 388 |       let total_items = sqlx::query_scalar!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 389 | |         r#"
[INFO] [stdout] 390 | |         SELECT COUNT(*) AS "count!"
[INFO] [stdout] 391 | |         FROM order_items oi
[INFO] [stdout] ...   |
[INFO] [stdout] 404 | |         owner_id
[INFO] [stdout] 405 | |     )
[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/service/order_svc.rs:409:15
[INFO] [stdout]     |
[INFO] [stdout] 409 |       let res = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 410 | |         OrderResponse,
[INFO] [stdout] 411 | |         r#"
[INFO] [stdout] 412 | |         SELECT
[INFO] [stdout] ...   |
[INFO] [stdout] 441 | |         offset
[INFO] [stdout] 442 | |     )
[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/service/revenue_svc.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 |       let row = sqlx::query!(
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 28 | |         r#"
[INFO] [stdout] 29 | |         WITH lines AS (
[INFO] [stdout] 30 | |             SELECT
[INFO] [stdout] ...  |
[INFO] [stdout] 80 | |         owner_id
[INFO] [stdout] 81 | |     )
[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/service/revenue_svc.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 | /             sqlx::query_as!(
[INFO] [stdout] 152 | |                 RevenueSeriesRow,
[INFO] [stdout] 153 | |                 r#"
[INFO] [stdout] 154 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 185 | |                 end
[INFO] [stdout] 186 | |             )
[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/service/revenue_svc.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 | /             sqlx::query_as!(
[INFO] [stdout] 192 | |                 RevenueSeriesRow,
[INFO] [stdout] 193 | |                 r#"
[INFO] [stdout] 194 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | |                 end
[INFO] [stdout] 226 | |             )
[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/service/revenue_svc.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 | /             sqlx::query_as!(
[INFO] [stdout] 232 | |                 RevenueSeriesRow,
[INFO] [stdout] 233 | |                 r#"
[INFO] [stdout] 234 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 265 | |                 end
[INFO] [stdout] 266 | |             )
[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/service/revenue_svc.rs:357:24
[INFO] [stdout]     |
[INFO] [stdout] 357 |               let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 358 | |                 RevenueHourlyRow,
[INFO] [stdout] 359 | |                 r#"
[INFO] [stdout] 360 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 391 | |                 end_naive.and_utc()
[INFO] [stdout] 392 | |             )
[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/service/revenue_svc.rs:432:24
[INFO] [stdout]     |
[INFO] [stdout] 432 |               let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 433 | |                 RevenueSeriesRow,
[INFO] [stdout] 434 | |                 r#"
[INFO] [stdout] 435 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 472 | |                     .and_utc()
[INFO] [stdout] 473 | |             )
[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/service/revenue_svc.rs:505:24
[INFO] [stdout]     |
[INFO] [stdout] 505 |               let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 506 | |                 RevenueSeriesRow,
[INFO] [stdout] 507 | |                 r#"
[INFO] [stdout] 508 | |                 WITH lines AS (
[INFO] [stdout] ...   |
[INFO] [stdout] 535 | |                 owner_id
[INFO] [stdout] 536 | |             )
[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] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/c_auth/login.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 |     .ok_or(AppError::NotFound(None, Some("get_id_pw_by_username: user tidak ditemukan".to_string())))?;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout]    = note: `#[warn(method_call_on_diverging_infer_var)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/dto/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[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: `uuid::Uuid`
[INFO] [stdout]  --> src/dto/request/batch_req.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/dto/request/decant_req.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bigdecimal::BigDecimal`
[INFO] [stdout]  --> src/dto/response/brand_res.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bigdecimal::BigDecimal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]  --> src/dto/response/parfume_res.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/handlers/order.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::service::brands_svc::svc_get_all_brands`
[INFO] [stdout]   --> src/route/route.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::service::brands_svc::svc_get_all_brands;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BottleStatus`
[INFO] [stdout]  --> src/service/bottle_svc.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |         request::botol_req::{BottleStatus, CreateBottle, UpdateBottle},
[INFO] [stdout]   |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MovementReason` and `MovementType`
[INFO] [stdout]   --> src/service/order_svc.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 |     service::bottle_svc::{MovementReason, MovementType},
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]   --> src/c_auth/login.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let user = sqlx::query!(
[INFO] [stdout] 18 |         r#"SELECT id, password_hash, role as "role: RoleModel" FROM users WHERE username = $1"#,
[INFO] [stdout] 19 |         username
[INFO] [stdout] 20 |     )
[INFO] [stdout] 21 |     .fetch_optional(pool)
[INFO] [stdout] 22 |     .await?
[INFO] [stdout] 23 |     .ok_or(AppError::NotFound(None, Some("get_id_pw_by_username: user tidak ditemukan".to_string())))?;
[INFO] [stdout]    |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/c_auth/login.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 |     .ok_or(AppError::NotFound(None, Some("get_id_pw_by_username: user tidak ditemukan".to_string())))?;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout]    = note: `#[warn(method_call_on_diverging_infer_var)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]   --> src/c_auth/login.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let user = sqlx::query!(
[INFO] [stdout] 18 |         r#"SELECT id, password_hash, role as "role: RoleModel" FROM users WHERE username = $1"#,
[INFO] [stdout] 19 |         username
[INFO] [stdout] 20 |     )
[INFO] [stdout] 21 |     .fetch_optional(pool)
[INFO] [stdout] 22 |     .await?
[INFO] [stdout] 23 |     .ok_or(AppError::NotFound(None, Some("get_id_pw_by_username: user tidak ditemukan".to_string())))?;
[INFO] [stdout]    |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/service/user_svc.rs:36:65
[INFO] [stdout]    |
[INFO] [stdout] 36 |     info!(latency_ms=%start.elapsed().as_millis(), count=%users.len(), "svc_get_all_user selesai");
[INFO] [stdout]    |                                                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]   --> src/service/user_svc.rs:36:65
[INFO] [stdout]    |
[INFO] [stdout] 36 |     info!(latency_ms=%start.elapsed().as_millis(), count=%users.len(), "svc_get_all_user selesai");
[INFO] [stdout]    |                                                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]   --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/service/user_svc.rs:36:65
[INFO] [stdout]    |
[INFO] [stdout] 36 |     info!(latency_ms=%start.elapsed().as_millis(), count=%users.len(), "svc_get_all_user selesai");
[INFO] [stdout]    |                                                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/service/user_svc.rs:36:65
[INFO] [stdout]    |
[INFO] [stdout] 36 |     info!(latency_ms=%start.elapsed().as_millis(), count=%users.len(), "svc_get_all_user selesai");
[INFO] [stdout]    |                                                           ----- ^^^ unreachable call
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/service/user_svc.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Ok(users)
[INFO] [stdout]    |     ^^ ----- any code following this expression is unreachable
[INFO] [stdout]    |     |
[INFO] [stdout]    |     unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/user_svc.rs:146:6
[INFO] [stdout]     |
[INFO] [stdout] 146 |     .ok_or(AppError::NotFound(
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]   --> src/service/user_svc.rs:36:65
[INFO] [stdout]    |
[INFO] [stdout] 36 |     info!(latency_ms=%start.elapsed().as_millis(), count=%users.len(), "svc_get_all_user selesai");
[INFO] [stdout]    |                                                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]   --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/user_svc.rs:146:6
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let current = sqlx::query!(
[INFO] [stdout] 141 |         r#"SELECT username, email, password_hash FROM users WHERE id = $1"#,
[INFO] [stdout] 142 |         id
[INFO] [stdout] 143 |     )
[INFO] [stdout] 144 |     .fetch_optional(pool)
[INFO] [stdout] 145 |     .await?
[INFO] [stdout] 146 |     .ok_or(AppError::NotFound(
[INFO] [stdout]     |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/user_svc.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 |     if result.rows_affected() == 0 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/service/user_svc.rs:36:65
[INFO] [stdout]    |
[INFO] [stdout] 36 |     info!(latency_ms=%start.elapsed().as_millis(), count=%users.len(), "svc_get_all_user selesai");
[INFO] [stdout]    |                                                           ----- ^^^ unreachable call
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/service/user_svc.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Ok(users)
[INFO] [stdout]    |     ^^ ----- any code following this expression is unreachable
[INFO] [stdout]    |     |
[INFO] [stdout]    |     unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/user_svc.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 |     if result.rows_affected() == 0 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/user_svc.rs:146:6
[INFO] [stdout]     |
[INFO] [stdout] 146 |     .ok_or(AppError::NotFound(
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/user_svc.rs:146:6
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let current = sqlx::query!(
[INFO] [stdout] 141 |         r#"SELECT username, email, password_hash FROM users WHERE id = $1"#,
[INFO] [stdout] 142 |         id
[INFO] [stdout] 143 |     )
[INFO] [stdout] 144 |     .fetch_optional(pool)
[INFO] [stdout] 145 |     .await?
[INFO] [stdout] 146 |     .ok_or(AppError::NotFound(
[INFO] [stdout]     |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/user_svc.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 |     if result.rows_affected() == 0 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/user_svc.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 |     if result.rows_affected() == 0 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/brands_svc.rs:196:6
[INFO] [stdout]     |
[INFO] [stdout] 196 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/brands_svc.rs:196:6
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let brand = sqlx::query!(
[INFO] [stdout] 162 |         r#"
[INFO] [stdout] 163 |         SELECT
[INFO] [stdout] 164 |             b.id AS "id!",
[INFO] [stdout] 165 |             EXISTS (
[INFO] [stdout] 166 |                 SELECT 1
[INFO] [stdout] 167 |                 FROM batch_parfume_bottle bf
[INFO] [stdout] 168 |                 JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 169 |                 JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 170 |                 JOIN order_items oi ON oi.bottle_id = bf.id
[INFO] [stdout] 171 |                 WHERE p.brands_id = b.id
[INFO] [stdout] 172 |             ) OR EXISTS (
[INFO] [stdout] 173 |                 SELECT 1
[INFO] [stdout] 174 |                 FROM batch_parfume_bottle bf
[INFO] [stdout] 175 |                 JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 176 |                 JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 177 |                 JOIN stock_movements sm ON sm.bottle_id = bf.id
[INFO] [stdout] 178 |                 WHERE p.brands_id = b.id
[INFO] [stdout] 179 |             ) OR EXISTS (
[INFO] [stdout] 180 |                 SELECT 1
[INFO] [stdout] 181 |                 FROM decant d
[INFO] [stdout] 182 |                 JOIN parfume p ON p.id = d.parfume_id
[INFO] [stdout] 183 |                 JOIN order_items oi ON oi.decant_id = d.id
[INFO] [stdout] 184 |                 WHERE p.brands_id = b.id
[INFO] [stdout] 185 |             ) AS "has_history!"
[INFO] [stdout] 186 |         FROM brands b
[INFO] [stdout] 187 |         WHERE b.id = $1
[INFO] [stdout] 188 |           AND b.owner_id = $2
[INFO] [stdout] 189 |           AND b.deleted_at IS NULL
[INFO] [stdout] 190 |         "#,
[INFO] [stdout] 191 |         id,
[INFO] [stdout] 192 |         owner_id
[INFO] [stdout] 193 |     )
[INFO] [stdout] 194 |     .fetch_optional(pool)
[INFO] [stdout] 195 |     .await?
[INFO] [stdout] 196 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/brands_svc.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/brands_svc.rs:196:6
[INFO] [stdout]     |
[INFO] [stdout] 196 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/brands_svc.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/parfume_svc.rs:343:6
[INFO] [stdout]     |
[INFO] [stdout] 343 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/brands_svc.rs:196:6
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let brand = sqlx::query!(
[INFO] [stdout] 162 |         r#"
[INFO] [stdout] 163 |         SELECT
[INFO] [stdout] 164 |             b.id AS "id!",
[INFO] [stdout] 165 |             EXISTS (
[INFO] [stdout] 166 |                 SELECT 1
[INFO] [stdout] 167 |                 FROM batch_parfume_bottle bf
[INFO] [stdout] 168 |                 JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 169 |                 JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 170 |                 JOIN order_items oi ON oi.bottle_id = bf.id
[INFO] [stdout] 171 |                 WHERE p.brands_id = b.id
[INFO] [stdout] 172 |             ) OR EXISTS (
[INFO] [stdout] 173 |                 SELECT 1
[INFO] [stdout] 174 |                 FROM batch_parfume_bottle bf
[INFO] [stdout] 175 |                 JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 176 |                 JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 177 |                 JOIN stock_movements sm ON sm.bottle_id = bf.id
[INFO] [stdout] 178 |                 WHERE p.brands_id = b.id
[INFO] [stdout] 179 |             ) OR EXISTS (
[INFO] [stdout] 180 |                 SELECT 1
[INFO] [stdout] 181 |                 FROM decant d
[INFO] [stdout] 182 |                 JOIN parfume p ON p.id = d.parfume_id
[INFO] [stdout] 183 |                 JOIN order_items oi ON oi.decant_id = d.id
[INFO] [stdout] 184 |                 WHERE p.brands_id = b.id
[INFO] [stdout] 185 |             ) AS "has_history!"
[INFO] [stdout] 186 |         FROM brands b
[INFO] [stdout] 187 |         WHERE b.id = $1
[INFO] [stdout] 188 |           AND b.owner_id = $2
[INFO] [stdout] 189 |           AND b.deleted_at IS NULL
[INFO] [stdout] 190 |         "#,
[INFO] [stdout] 191 |         id,
[INFO] [stdout] 192 |         owner_id
[INFO] [stdout] 193 |     )
[INFO] [stdout] 194 |     .fetch_optional(pool)
[INFO] [stdout] 195 |     .await?
[INFO] [stdout] 196 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/brands_svc.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:343:6
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let parfume = sqlx::query!(
[INFO] [stdout] 310 |         r#"
[INFO] [stdout] 311 |         SELECT
[INFO] [stdout] 312 |             p.id AS "id!",
[INFO] [stdout] 313 |             EXISTS (
[INFO] [stdout] 314 |                 SELECT 1
[INFO] [stdout] 315 |                 FROM batch_parfume_bottle bf
[INFO] [stdout] 316 |                 JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 317 |                 JOIN order_items oi ON oi.bottle_id = bf.id
[INFO] [stdout] 318 |                 WHERE bp.parfume_id = p.id
[INFO] [stdout] 319 |             ) OR EXISTS (
[INFO] [stdout] 320 |                 SELECT 1
[INFO] [stdout] 321 |                 FROM batch_parfume_bottle bf
[INFO] [stdout] 322 |                 JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 323 |                 JOIN stock_movements sm ON sm.bottle_id = bf.id
[INFO] [stdout] 324 |                 WHERE bp.parfume_id = p.id
[INFO] [stdout] 325 |             ) OR EXISTS (
[INFO] [stdout] 326 |                 SELECT 1
[INFO] [stdout] 327 |                 FROM decant d
[INFO] [stdout] 328 |                 JOIN order_items oi ON oi.decant_id = d.id
[INFO] [stdout] 329 |                 WHERE d.parfume_id = p.id
[INFO] [stdout] 330 |             ) AS "has_history!"
[INFO] [stdout] 331 |         FROM parfume p
[INFO] [stdout] 332 |         JOIN brands b ON b.id = p.brands_id
[INFO] [stdout] 333 |         WHERE p.id = $1
[INFO] [stdout] 334 |           AND b.owner_id = $2
[INFO] [stdout] 335 |           AND p.deleted_at IS NULL
[INFO] [stdout] 336 |           AND b.deleted_at IS NULL
[INFO] [stdout] 337 |         "#,
[INFO] [stdout] 338 |         id,
[INFO] [stdout] 339 |         owner_id
[INFO] [stdout] 340 |     )
[INFO] [stdout] 341 |     .fetch_optional(pool)
[INFO] [stdout] 342 |     .await?
[INFO] [stdout] 343 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/parfume_svc.rs:362:17
[INFO] [stdout]     |
[INFO] [stdout] 362 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/brands_svc.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:362:17
[INFO] [stdout]     |
[INFO] [stdout] 362 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/parfume_svc.rs:343:6
[INFO] [stdout]     |
[INFO] [stdout] 343 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/parfume_svc.rs:651:20
[INFO] [stdout]     |
[INFO] [stdout] 651 |     if parfume_row.is_none() {
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:343:6
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let parfume = sqlx::query!(
[INFO] [stdout] 310 |         r#"
[INFO] [stdout] 311 |         SELECT
[INFO] [stdout] 312 |             p.id AS "id!",
[INFO] [stdout] 313 |             EXISTS (
[INFO] [stdout] 314 |                 SELECT 1
[INFO] [stdout] 315 |                 FROM batch_parfume_bottle bf
[INFO] [stdout] 316 |                 JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 317 |                 JOIN order_items oi ON oi.bottle_id = bf.id
[INFO] [stdout] 318 |                 WHERE bp.parfume_id = p.id
[INFO] [stdout] 319 |             ) OR EXISTS (
[INFO] [stdout] 320 |                 SELECT 1
[INFO] [stdout] 321 |                 FROM batch_parfume_bottle bf
[INFO] [stdout] 322 |                 JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 323 |                 JOIN stock_movements sm ON sm.bottle_id = bf.id
[INFO] [stdout] 324 |                 WHERE bp.parfume_id = p.id
[INFO] [stdout] 325 |             ) OR EXISTS (
[INFO] [stdout] 326 |                 SELECT 1
[INFO] [stdout] 327 |                 FROM decant d
[INFO] [stdout] 328 |                 JOIN order_items oi ON oi.decant_id = d.id
[INFO] [stdout] 329 |                 WHERE d.parfume_id = p.id
[INFO] [stdout] 330 |             ) AS "has_history!"
[INFO] [stdout] 331 |         FROM parfume p
[INFO] [stdout] 332 |         JOIN brands b ON b.id = p.brands_id
[INFO] [stdout] 333 |         WHERE p.id = $1
[INFO] [stdout] 334 |           AND b.owner_id = $2
[INFO] [stdout] 335 |           AND p.deleted_at IS NULL
[INFO] [stdout] 336 |           AND b.deleted_at IS NULL
[INFO] [stdout] 337 |         "#,
[INFO] [stdout] 338 |         id,
[INFO] [stdout] 339 |         owner_id
[INFO] [stdout] 340 |     )
[INFO] [stdout] 341 |     .fetch_optional(pool)
[INFO] [stdout] 342 |     .await?
[INFO] [stdout] 343 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/parfume_svc.rs:362:17
[INFO] [stdout]     |
[INFO] [stdout] 362 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_none` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:651:20
[INFO] [stdout]     |
[INFO] [stdout] 651 |     if parfume_row.is_none() {
[INFO] [stdout]     |                    ^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/parfume_svc.rs:701:45
[INFO] [stdout]     |
[INFO] [stdout] 701 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:362:17
[INFO] [stdout]     |
[INFO] [stdout] 362 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/parfume_svc.rs:651:20
[INFO] [stdout]     |
[INFO] [stdout] 651 |     if parfume_row.is_none() {
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:701:45
[INFO] [stdout]     |
[INFO] [stdout] 701 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/parfume_svc.rs:702:24
[INFO] [stdout]     |
[INFO] [stdout] 702 |             for row in rows {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        unreachable call
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/parfume_svc.rs:767:45
[INFO] [stdout]     |
[INFO] [stdout] 767 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_none` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:651:20
[INFO] [stdout]     |
[INFO] [stdout] 651 |     if parfume_row.is_none() {
[INFO] [stdout]     |                    ^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/parfume_svc.rs:701:45
[INFO] [stdout]     |
[INFO] [stdout] 701 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:767:45
[INFO] [stdout]     |
[INFO] [stdout] 767 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/parfume_svc.rs:768:24
[INFO] [stdout]     |
[INFO] [stdout] 768 |             for row in rows {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        unreachable call
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/parfume_svc.rs:817:21
[INFO] [stdout]     |
[INFO] [stdout] 817 |             if rows.is_empty() {
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:701:45
[INFO] [stdout]     |
[INFO] [stdout] 701 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/parfume_svc.rs:702:24
[INFO] [stdout]     |
[INFO] [stdout] 702 |             for row in rows {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        unreachable call
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/parfume_svc.rs:767:45
[INFO] [stdout]     |
[INFO] [stdout] 767 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_empty` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:817:21
[INFO] [stdout]     |
[INFO] [stdout] 817 |             if rows.is_empty() {
[INFO] [stdout]     |                     ^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:767:45
[INFO] [stdout]     |
[INFO] [stdout] 767 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/parfume_svc.rs:768:24
[INFO] [stdout]     |
[INFO] [stdout] 768 |             for row in rows {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        unreachable call
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/parfume_svc.rs:817:21
[INFO] [stdout]     |
[INFO] [stdout] 817 |             if rows.is_empty() {
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:822:45
[INFO] [stdout]     |
[INFO] [stdout] 822 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/parfume_svc.rs:822:45
[INFO] [stdout]     |
[INFO] [stdout] 822 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                        ---- ^^^ unreachable call
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/parfume_svc.rs:823:24
[INFO] [stdout]     |
[INFO] [stdout] 823 |             for row in rows {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        unreachable call
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/batch_svc.rs:146:6
[INFO] [stdout]     |
[INFO] [stdout] 146 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_empty` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:817:21
[INFO] [stdout]     |
[INFO] [stdout] 817 |             if rows.is_empty() {
[INFO] [stdout]     |                     ^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/batch_svc.rs:146:6
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let batch = sqlx::query!(
[INFO] [stdout] 121 |         r#"
[INFO] [stdout] 122 |         SELECT
[INFO] [stdout] 123 |             bf.quantity_ml,
[INFO] [stdout] 124 |             bf.purchase_price,
[INFO] [stdout] 125 |             COALESCE((
[INFO] [stdout] 126 |                 SELECT MAX(bf2.remaining_ml)
[INFO] [stdout] 127 |                 FROM batch_parfume_bottle bf2
[INFO] [stdout] 128 |                 WHERE bf2.batch_parfume_id = bf.id
[INFO] [stdout] 129 |             ), 0) AS "max_remaining_ml!"
[INFO] [stdout] 130 |         FROM batch_parfume bf
[INFO] [stdout] 131 |         JOIN parfume f
[INFO] [stdout] 132 |             ON bf.parfume_id = f.id
[INFO] [stdout] 133 |         JOIN brands b
[INFO] [stdout] 134 |             ON f.brands_id = b.id
[INFO] [stdout] 135 |         WHERE b.owner_id = $1
[INFO] [stdout] 136 |           AND bf.id = $2
[INFO] [stdout] 137 |           AND bf.deleted_at IS NULL
[INFO] [stdout] 138 |           AND f.deleted_at IS NULL
[INFO] [stdout] 139 |           AND b.deleted_at IS NULL
[INFO] [stdout] 140 |     "#,
[INFO] [stdout] 141 |         owner_id,
[INFO] [stdout] 142 |         id,
[INFO] [stdout] 143 |     )
[INFO] [stdout] 144 |     .fetch_optional(pool)
[INFO] [stdout] 145 |     .await?
[INFO] [stdout] 146 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/batch_svc.rs:237:6
[INFO] [stdout]     |
[INFO] [stdout] 237 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/parfume_svc.rs:822:45
[INFO] [stdout]     |
[INFO] [stdout] 822 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/parfume_svc.rs:822:45
[INFO] [stdout]     |
[INFO] [stdout] 822 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                        ---- ^^^ unreachable call
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/parfume_svc.rs:823:24
[INFO] [stdout]     |
[INFO] [stdout] 823 |             for row in rows {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        unreachable call
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/batch_svc.rs:146:6
[INFO] [stdout]     |
[INFO] [stdout] 146 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/batch_svc.rs:237:6
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let batch = sqlx::query!(
[INFO] [stdout] 209 |         r#"
[INFO] [stdout] 210 |         SELECT
[INFO] [stdout] 211 |             bp.id AS "id!",
[INFO] [stdout] 212 |             EXISTS (
[INFO] [stdout] 213 |                 SELECT 1
[INFO] [stdout] 214 |                 FROM batch_parfume_bottle bf
[INFO] [stdout] 215 |                 WHERE bf.batch_parfume_id = bp.id
[INFO] [stdout] 216 |                   AND (
[INFO] [stdout] 217 |                       EXISTS (SELECT 1 FROM order_items oi WHERE oi.bottle_id = bf.id)
[INFO] [stdout] 218 |                    OR EXISTS (SELECT 1 FROM stock_movements sm WHERE sm.bottle_id = bf.id)
[INFO] [stdout] 219 |                   )
[INFO] [stdout] 220 |             ) AS "has_history!"
[INFO] [stdout] 221 |         FROM batch_parfume bp
[INFO] [stdout] 222 |         JOIN parfume f
[INFO] [stdout] 223 |             ON bp.parfume_id = f.id
[INFO] [stdout] 224 |         JOIN brands b
[INFO] [stdout] 225 |             ON f.brands_id = b.id
[INFO] [stdout] 226 |         WHERE bp.id = $1
[INFO] [stdout] 227 |           AND b.owner_id = $2
[INFO] [stdout] 228 |           AND bp.deleted_at IS NULL
[INFO] [stdout] 229 |           AND f.deleted_at IS NULL
[INFO] [stdout] 230 |           AND b.deleted_at IS NULL
[INFO] [stdout] 231 |         "#,
[INFO] [stdout] 232 |         id,
[INFO] [stdout] 233 |         owner_id
[INFO] [stdout] 234 |     )
[INFO] [stdout] 235 |     .fetch_optional(pool)
[INFO] [stdout] 236 |     .await?
[INFO] [stdout] 237 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/batch_svc.rs:256:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/batch_svc.rs:256:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/batch_svc.rs:146:6
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let batch = sqlx::query!(
[INFO] [stdout] 121 |         r#"
[INFO] [stdout] 122 |         SELECT
[INFO] [stdout] 123 |             bf.quantity_ml,
[INFO] [stdout] 124 |             bf.purchase_price,
[INFO] [stdout] 125 |             COALESCE((
[INFO] [stdout] 126 |                 SELECT MAX(bf2.remaining_ml)
[INFO] [stdout] 127 |                 FROM batch_parfume_bottle bf2
[INFO] [stdout] 128 |                 WHERE bf2.batch_parfume_id = bf.id
[INFO] [stdout] 129 |             ), 0) AS "max_remaining_ml!"
[INFO] [stdout] 130 |         FROM batch_parfume bf
[INFO] [stdout] 131 |         JOIN parfume f
[INFO] [stdout] 132 |             ON bf.parfume_id = f.id
[INFO] [stdout] 133 |         JOIN brands b
[INFO] [stdout] 134 |             ON f.brands_id = b.id
[INFO] [stdout] 135 |         WHERE b.owner_id = $1
[INFO] [stdout] 136 |           AND bf.id = $2
[INFO] [stdout] 137 |           AND bf.deleted_at IS NULL
[INFO] [stdout] 138 |           AND f.deleted_at IS NULL
[INFO] [stdout] 139 |           AND b.deleted_at IS NULL
[INFO] [stdout] 140 |     "#,
[INFO] [stdout] 141 |         owner_id,
[INFO] [stdout] 142 |         id,
[INFO] [stdout] 143 |     )
[INFO] [stdout] 144 |     .fetch_optional(pool)
[INFO] [stdout] 145 |     .await?
[INFO] [stdout] 146 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/service/decant_svc.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |     if query.rows_affected() == 0 {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/batch_svc.rs:237:6
[INFO] [stdout]     |
[INFO] [stdout] 237 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]   --> src/service/decant_svc.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |     if query.rows_affected() == 0 {
[INFO] [stdout]    |              ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/batch_svc.rs:237:6
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let batch = sqlx::query!(
[INFO] [stdout] 209 |         r#"
[INFO] [stdout] 210 |         SELECT
[INFO] [stdout] 211 |             bp.id AS "id!",
[INFO] [stdout] 212 |             EXISTS (
[INFO] [stdout] 213 |                 SELECT 1
[INFO] [stdout] 214 |                 FROM batch_parfume_bottle bf
[INFO] [stdout] 215 |                 WHERE bf.batch_parfume_id = bp.id
[INFO] [stdout] 216 |                   AND (
[INFO] [stdout] 217 |                       EXISTS (SELECT 1 FROM order_items oi WHERE oi.bottle_id = bf.id)
[INFO] [stdout] 218 |                    OR EXISTS (SELECT 1 FROM stock_movements sm WHERE sm.bottle_id = bf.id)
[INFO] [stdout] 219 |                   )
[INFO] [stdout] 220 |             ) AS "has_history!"
[INFO] [stdout] 221 |         FROM batch_parfume bp
[INFO] [stdout] 222 |         JOIN parfume f
[INFO] [stdout] 223 |             ON bp.parfume_id = f.id
[INFO] [stdout] 224 |         JOIN brands b
[INFO] [stdout] 225 |             ON f.brands_id = b.id
[INFO] [stdout] 226 |         WHERE bp.id = $1
[INFO] [stdout] 227 |           AND b.owner_id = $2
[INFO] [stdout] 228 |           AND bp.deleted_at IS NULL
[INFO] [stdout] 229 |           AND f.deleted_at IS NULL
[INFO] [stdout] 230 |           AND b.deleted_at IS NULL
[INFO] [stdout] 231 |         "#,
[INFO] [stdout] 232 |         id,
[INFO] [stdout] 233 |         owner_id
[INFO] [stdout] 234 |     )
[INFO] [stdout] 235 |     .fetch_optional(pool)
[INFO] [stdout] 236 |     .await?
[INFO] [stdout] 237 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/batch_svc.rs:256:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/decant_svc.rs:169:14
[INFO] [stdout]     |
[INFO] [stdout] 169 |     if query.rows_affected() == 0 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/batch_svc.rs:256:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/decant_svc.rs:169:14
[INFO] [stdout]     |
[INFO] [stdout] 169 |     if query.rows_affected() == 0 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/decant_svc.rs:205:6
[INFO] [stdout]     |
[INFO] [stdout] 205 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/service/decant_svc.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |     if query.rows_affected() == 0 {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]   --> src/service/decant_svc.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |     if query.rows_affected() == 0 {
[INFO] [stdout]    |              ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/decant_svc.rs:205:6
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let decant = sqlx::query!(
[INFO] [stdout] 185 |         r#"
[INFO] [stdout] 186 |         SELECT
[INFO] [stdout] 187 |             d.id AS "id!",
[INFO] [stdout] 188 |             EXISTS (SELECT 1 FROM order_items oi WHERE oi.decant_id = d.id) AS "has_order!"
[INFO] [stdout] 189 |         FROM decant d
[INFO] [stdout] 190 |         JOIN parfume p
[INFO] [stdout] 191 |             ON p.id = d.parfume_id
[INFO] [stdout] 192 |         JOIN brands b
[INFO] [stdout] 193 |             ON b.id = p.brands_id
[INFO] [stdout] 194 |         WHERE d.id = $1
[INFO] [stdout] 195 |           AND b.owner_id = $2
[INFO] [stdout] 196 |           AND d.deleted_at IS NULL
[INFO] [stdout] 197 |           AND p.deleted_at IS NULL
[INFO] [stdout] 198 |           AND b.deleted_at IS NULL
[INFO] [stdout] 199 |         "#,
[INFO] [stdout] 200 |         id,
[INFO] [stdout] 201 |         owner_id
[INFO] [stdout] 202 |     )
[INFO] [stdout] 203 |     .fetch_optional(pool)
[INFO] [stdout] 204 |     .await?
[INFO] [stdout] 205 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/decant_svc.rs:224:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/decant_svc.rs:169:14
[INFO] [stdout]     |
[INFO] [stdout] 169 |     if query.rows_affected() == 0 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/decant_svc.rs:224:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/decant_svc.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 |     if result.rows_affected() == 0 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/decant_svc.rs:169:14
[INFO] [stdout]     |
[INFO] [stdout] 169 |     if query.rows_affected() == 0 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/decant_svc.rs:205:6
[INFO] [stdout]     |
[INFO] [stdout] 205 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/decant_svc.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 |     if result.rows_affected() == 0 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/service/bottle_svc.rs:67:6
[INFO] [stdout]    |
[INFO] [stdout] 67 |     .ok_or_else(|| {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/decant_svc.rs:205:6
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let decant = sqlx::query!(
[INFO] [stdout] 185 |         r#"
[INFO] [stdout] 186 |         SELECT
[INFO] [stdout] 187 |             d.id AS "id!",
[INFO] [stdout] 188 |             EXISTS (SELECT 1 FROM order_items oi WHERE oi.decant_id = d.id) AS "has_order!"
[INFO] [stdout] 189 |         FROM decant d
[INFO] [stdout] 190 |         JOIN parfume p
[INFO] [stdout] 191 |             ON p.id = d.parfume_id
[INFO] [stdout] 192 |         JOIN brands b
[INFO] [stdout] 193 |             ON b.id = p.brands_id
[INFO] [stdout] 194 |         WHERE d.id = $1
[INFO] [stdout] 195 |           AND b.owner_id = $2
[INFO] [stdout] 196 |           AND d.deleted_at IS NULL
[INFO] [stdout] 197 |           AND p.deleted_at IS NULL
[INFO] [stdout] 198 |           AND b.deleted_at IS NULL
[INFO] [stdout] 199 |         "#,
[INFO] [stdout] 200 |         id,
[INFO] [stdout] 201 |         owner_id
[INFO] [stdout] 202 |     )
[INFO] [stdout] 203 |     .fetch_optional(pool)
[INFO] [stdout] 204 |     .await?
[INFO] [stdout] 205 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/decant_svc.rs:224:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]   --> src/service/bottle_svc.rs:67:6
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let cap = sqlx::query!(
[INFO] [stdout] 48 |         r#"
[INFO] [stdout] 49 |         SELECT
[INFO] [stdout] 50 |             bp.quantity_ml
[INFO] [stdout] 51 |         FROM batch_parfume bp
[INFO] [stdout] 52 |         JOIN parfume f
[INFO] [stdout] 53 |             ON f.id = bp.parfume_id
[INFO] [stdout] 54 |         JOIN brands b
[INFO] [stdout] 55 |             ON b.id = f.brands_id
[INFO] [stdout] 56 |         WHERE b.owner_id = $1
[INFO] [stdout] 57 |           AND bp.id = $2
[INFO] [stdout] 58 |           AND bp.deleted_at IS NULL
[INFO] [stdout] 59 |           AND f.deleted_at IS NULL
[INFO] [stdout] 60 |           AND b.deleted_at IS NULL
[INFO] [stdout] 61 |         "#,
[INFO] [stdout] 62 |         owner_id,
[INFO] [stdout] 63 |         batch_id
[INFO] [stdout] 64 |     )
[INFO] [stdout] 65 |     .fetch_optional(pool)
[INFO] [stdout] 66 |     .await?
[INFO] [stdout] 67 |     .ok_or_else(|| {
[INFO] [stdout]    |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/bottle_svc.rs:122:6
[INFO] [stdout]     |
[INFO] [stdout] 122 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/decant_svc.rs:224:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/decant_svc.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 |     if result.rows_affected() == 0 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/decant_svc.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 |     if result.rows_affected() == 0 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/bottle_svc.rs:122:6
[INFO] [stdout]     |
[INFO] [stdout]  83 |     let bottle = sqlx::query_as!(
[INFO] [stdout]  84 |         BotolResponse,
[INFO] [stdout]  85 |         r#"
[INFO] [stdout]  86 |         WITH inserted AS (
[INFO] [stdout]  87 |             INSERT INTO batch_parfume_bottle (
[INFO] [stdout]  88 |                 batch_parfume_id,
[INFO] [stdout]  89 |                 remaining_ml,
[INFO] [stdout]  90 |                 status
[INFO] [stdout]  91 |             )
[INFO] [stdout]  92 |             SELECT
[INFO] [stdout]  93 |                 bf.id,
[INFO] [stdout]  94 |                 $2,
[INFO] [stdout]  95 |                 $3
[INFO] [stdout]  96 |             FROM batch_parfume bf JOIN parfume f
[INFO] [stdout]  97 |                 ON bf.parfume_id = f.id
[INFO] [stdout]  98 |             JOIN brands b
[INFO] [stdout]  99 |                 ON f.brands_id = b.id
[INFO] [stdout] 100 |             WHERE b.owner_id = $4
[INFO] [stdout] 101 |               AND bf.id = $1
[INFO] [stdout] 102 |             RETURNING
[INFO] [stdout] 103 |                 id,
[INFO] [stdout] 104 |                 batch_parfume_id,
[INFO] [stdout] 105 |                 remaining_ml,
[INFO] [stdout] 106 |                 status
[INFO] [stdout] 107 |         )
[INFO] [stdout] 108 |         SELECT
[INFO] [stdout] 109 |             i.id,
[INFO] [stdout] 110 |             i.batch_parfume_id,
[INFO] [stdout] 111 |             i.remaining_ml,
[INFO] [stdout] 112 |             i.status AS "status: BottleStatus"
[INFO] [stdout] 113 |         FROM inserted i
[INFO] [stdout] 114 |         "#,
[INFO] [stdout] 115 |         req.batch_id,
[INFO] [stdout] 116 |         req.remaining_ml,
[INFO] [stdout] 117 |         req.status as BottleStatus,
[INFO] [stdout] 118 |         owner_id
[INFO] [stdout] 119 |     )
[INFO] [stdout] 120 |     .fetch_optional(&mut *tx)
[INFO] [stdout] 121 |     .await?
[INFO] [stdout] 122 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/service/bottle_svc.rs:67:6
[INFO] [stdout]    |
[INFO] [stdout] 67 |     .ok_or_else(|| {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/bottle_svc.rs:184:6
[INFO] [stdout]     |
[INFO] [stdout] 184 |     .ok_or(AppError::NotFound(
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/bottle_svc.rs:184:6
[INFO] [stdout]     |
[INFO] [stdout] 161 |     sqlx::query_as!(
[INFO] [stdout] 162 |         BotolResponse,
[INFO] [stdout] 163 |         r#"
[INFO] [stdout] 164 |         SELECT
[INFO] [stdout] 165 |             bf.id,
[INFO] [stdout] 166 |             bf.batch_parfume_id,
[INFO] [stdout] 167 |             bf.remaining_ml,
[INFO] [stdout] 168 |             bf.status AS "status: BottleStatus"
[INFO] [stdout] 169 |         FROM batch_parfume_bottle bf
[INFO] [stdout] 170 |         JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 171 |         JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 172 |         JOIN brands b ON b.id = p.brands_id
[INFO] [stdout] 173 |         WHERE bf.id = $1 AND b.owner_id = $2
[INFO] [stdout] 174 |           AND bf.deleted_at IS NULL
[INFO] [stdout] 175 |           AND bp.deleted_at IS NULL
[INFO] [stdout] 176 |           AND p.deleted_at IS NULL
[INFO] [stdout] 177 |           AND b.deleted_at IS NULL
[INFO] [stdout] 178 |         "#,
[INFO] [stdout] 179 |         id,
[INFO] [stdout] 180 |         owner_id
[INFO] [stdout] 181 |     )
[INFO] [stdout] 182 |     .fetch_optional(pool)
[INFO] [stdout] 183 |     .await?
[INFO] [stdout] 184 |     .ok_or(AppError::NotFound(
[INFO] [stdout]     |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/bottle_svc.rs:267:6
[INFO] [stdout]     |
[INFO] [stdout] 267 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]   --> src/service/bottle_svc.rs:67:6
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let cap = sqlx::query!(
[INFO] [stdout] 48 |         r#"
[INFO] [stdout] 49 |         SELECT
[INFO] [stdout] 50 |             bp.quantity_ml
[INFO] [stdout] 51 |         FROM batch_parfume bp
[INFO] [stdout] 52 |         JOIN parfume f
[INFO] [stdout] 53 |             ON f.id = bp.parfume_id
[INFO] [stdout] 54 |         JOIN brands b
[INFO] [stdout] 55 |             ON b.id = f.brands_id
[INFO] [stdout] 56 |         WHERE b.owner_id = $1
[INFO] [stdout] 57 |           AND bp.id = $2
[INFO] [stdout] 58 |           AND bp.deleted_at IS NULL
[INFO] [stdout] 59 |           AND f.deleted_at IS NULL
[INFO] [stdout] 60 |           AND b.deleted_at IS NULL
[INFO] [stdout] 61 |         "#,
[INFO] [stdout] 62 |         owner_id,
[INFO] [stdout] 63 |         batch_id
[INFO] [stdout] 64 |     )
[INFO] [stdout] 65 |     .fetch_optional(pool)
[INFO] [stdout] 66 |     .await?
[INFO] [stdout] 67 |     .ok_or_else(|| {
[INFO] [stdout]    |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/bottle_svc.rs:122:6
[INFO] [stdout]     |
[INFO] [stdout] 122 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/bottle_svc.rs:267:6
[INFO] [stdout]     |
[INFO] [stdout] 243 |     let cap = sqlx::query!(
[INFO] [stdout] 244 |         r#"
[INFO] [stdout] 245 |         SELECT
[INFO] [stdout] 246 |             bp.quantity_ml,
[INFO] [stdout] 247 |             target.remaining_ml AS "remaining_ml!"
[INFO] [stdout] 248 |         FROM batch_parfume_bottle target
[INFO] [stdout] 249 |         JOIN batch_parfume bp
[INFO] [stdout] 250 |             ON bp.id = target.batch_parfume_id
[INFO] [stdout] 251 |         JOIN parfume f
[INFO] [stdout] 252 |             ON f.id = bp.parfume_id
[INFO] [stdout] 253 |         JOIN brands b
[INFO] [stdout] 254 |             ON b.id = f.brands_id
[INFO] [stdout] 255 |         WHERE target.id = $1
[INFO] [stdout] 256 |           AND b.owner_id = $2
[INFO] [stdout] 257 |           AND target.deleted_at IS NULL
[INFO] [stdout] 258 |           AND bp.deleted_at IS NULL
[INFO] [stdout] 259 |           AND f.deleted_at IS NULL
[INFO] [stdout] 260 |           AND b.deleted_at IS NULL
[INFO] [stdout] 261 |         "#,
[INFO] [stdout] 262 |         id,
[INFO] [stdout] 263 |         owner_id
[INFO] [stdout] 264 |     )
[INFO] [stdout] 265 |     .fetch_optional(&mut *tx)
[INFO] [stdout] 266 |     .await?
[INFO] [stdout] 267 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/bottle_svc.rs:372:6
[INFO] [stdout]     |
[INFO] [stdout] 372 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/bottle_svc.rs:122:6
[INFO] [stdout]     |
[INFO] [stdout]  83 |     let bottle = sqlx::query_as!(
[INFO] [stdout]  84 |         BotolResponse,
[INFO] [stdout]  85 |         r#"
[INFO] [stdout]  86 |         WITH inserted AS (
[INFO] [stdout]  87 |             INSERT INTO batch_parfume_bottle (
[INFO] [stdout]  88 |                 batch_parfume_id,
[INFO] [stdout]  89 |                 remaining_ml,
[INFO] [stdout]  90 |                 status
[INFO] [stdout]  91 |             )
[INFO] [stdout]  92 |             SELECT
[INFO] [stdout]  93 |                 bf.id,
[INFO] [stdout]  94 |                 $2,
[INFO] [stdout]  95 |                 $3
[INFO] [stdout]  96 |             FROM batch_parfume bf JOIN parfume f
[INFO] [stdout]  97 |                 ON bf.parfume_id = f.id
[INFO] [stdout]  98 |             JOIN brands b
[INFO] [stdout]  99 |                 ON f.brands_id = b.id
[INFO] [stdout] 100 |             WHERE b.owner_id = $4
[INFO] [stdout] 101 |               AND bf.id = $1
[INFO] [stdout] 102 |             RETURNING
[INFO] [stdout] 103 |                 id,
[INFO] [stdout] 104 |                 batch_parfume_id,
[INFO] [stdout] 105 |                 remaining_ml,
[INFO] [stdout] 106 |                 status
[INFO] [stdout] 107 |         )
[INFO] [stdout] 108 |         SELECT
[INFO] [stdout] 109 |             i.id,
[INFO] [stdout] 110 |             i.batch_parfume_id,
[INFO] [stdout] 111 |             i.remaining_ml,
[INFO] [stdout] 112 |             i.status AS "status: BottleStatus"
[INFO] [stdout] 113 |         FROM inserted i
[INFO] [stdout] 114 |         "#,
[INFO] [stdout] 115 |         req.batch_id,
[INFO] [stdout] 116 |         req.remaining_ml,
[INFO] [stdout] 117 |         req.status as BottleStatus,
[INFO] [stdout] 118 |         owner_id
[INFO] [stdout] 119 |     )
[INFO] [stdout] 120 |     .fetch_optional(&mut *tx)
[INFO] [stdout] 121 |     .await?
[INFO] [stdout] 122 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/bottle_svc.rs:184:6
[INFO] [stdout]     |
[INFO] [stdout] 184 |     .ok_or(AppError::NotFound(
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/bottle_svc.rs:372:6
[INFO] [stdout]     |
[INFO] [stdout] 351 |     let bottle = sqlx::query!(
[INFO] [stdout] 352 |         r#"
[INFO] [stdout] 353 |         SELECT
[INFO] [stdout] 354 |             EXISTS (SELECT 1 FROM order_items oi WHERE oi.bottle_id = bf.id) AS "has_order!",
[INFO] [stdout] 355 |             EXISTS (SELECT 1 FROM stock_movements sm WHERE sm.bottle_id = bf.id) AS "has_movement!"
[INFO] [stdout] 356 |         FROM batch_parfume_bottle bf
[INFO] [stdout] 357 |         JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 358 |         JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 359 |         JOIN brands b ON b.id = p.brands_id
[INFO] [stdout] 360 |         WHERE bf.id = $1
[INFO] [stdout] 361 |           AND b.owner_id = $2
[INFO] [stdout] 362 |           AND bf.deleted_at IS NULL
[INFO] [stdout] 363 |           AND bp.deleted_at IS NULL
[INFO] [stdout] 364 |           AND p.deleted_at IS NULL
[INFO] [stdout] 365 |           AND b.deleted_at IS NULL
[INFO] [stdout] 366 |         "#,
[INFO] [stdout] 367 |         id,
[INFO] [stdout] 368 |         owner_id
[INFO] [stdout] 369 |     )
[INFO] [stdout] 370 |     .fetch_optional(pool)
[INFO] [stdout] 371 |     .await?
[INFO] [stdout] 372 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/bottle_svc.rs:391:17
[INFO] [stdout]     |
[INFO] [stdout] 391 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/bottle_svc.rs:184:6
[INFO] [stdout]     |
[INFO] [stdout] 161 |     sqlx::query_as!(
[INFO] [stdout] 162 |         BotolResponse,
[INFO] [stdout] 163 |         r#"
[INFO] [stdout] 164 |         SELECT
[INFO] [stdout] 165 |             bf.id,
[INFO] [stdout] 166 |             bf.batch_parfume_id,
[INFO] [stdout] 167 |             bf.remaining_ml,
[INFO] [stdout] 168 |             bf.status AS "status: BottleStatus"
[INFO] [stdout] 169 |         FROM batch_parfume_bottle bf
[INFO] [stdout] 170 |         JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 171 |         JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 172 |         JOIN brands b ON b.id = p.brands_id
[INFO] [stdout] 173 |         WHERE bf.id = $1 AND b.owner_id = $2
[INFO] [stdout] 174 |           AND bf.deleted_at IS NULL
[INFO] [stdout] 175 |           AND bp.deleted_at IS NULL
[INFO] [stdout] 176 |           AND p.deleted_at IS NULL
[INFO] [stdout] 177 |           AND b.deleted_at IS NULL
[INFO] [stdout] 178 |         "#,
[INFO] [stdout] 179 |         id,
[INFO] [stdout] 180 |         owner_id
[INFO] [stdout] 181 |     )
[INFO] [stdout] 182 |     .fetch_optional(pool)
[INFO] [stdout] 183 |     .await?
[INFO] [stdout] 184 |     .ok_or(AppError::NotFound(
[INFO] [stdout]     |      ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/bottle_svc.rs:267:6
[INFO] [stdout]     |
[INFO] [stdout] 267 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/bottle_svc.rs:391:17
[INFO] [stdout]     |
[INFO] [stdout] 391 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/bottle_svc.rs:411:15
[INFO] [stdout]     |
[INFO] [stdout] 411 |     if result.rows_affected() == 0 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/bottle_svc.rs:267:6
[INFO] [stdout]     |
[INFO] [stdout] 243 |     let cap = sqlx::query!(
[INFO] [stdout] 244 |         r#"
[INFO] [stdout] 245 |         SELECT
[INFO] [stdout] 246 |             bp.quantity_ml,
[INFO] [stdout] 247 |             target.remaining_ml AS "remaining_ml!"
[INFO] [stdout] 248 |         FROM batch_parfume_bottle target
[INFO] [stdout] 249 |         JOIN batch_parfume bp
[INFO] [stdout] 250 |             ON bp.id = target.batch_parfume_id
[INFO] [stdout] 251 |         JOIN parfume f
[INFO] [stdout] 252 |             ON f.id = bp.parfume_id
[INFO] [stdout] 253 |         JOIN brands b
[INFO] [stdout] 254 |             ON b.id = f.brands_id
[INFO] [stdout] 255 |         WHERE target.id = $1
[INFO] [stdout] 256 |           AND b.owner_id = $2
[INFO] [stdout] 257 |           AND target.deleted_at IS NULL
[INFO] [stdout] 258 |           AND bp.deleted_at IS NULL
[INFO] [stdout] 259 |           AND f.deleted_at IS NULL
[INFO] [stdout] 260 |           AND b.deleted_at IS NULL
[INFO] [stdout] 261 |         "#,
[INFO] [stdout] 262 |         id,
[INFO] [stdout] 263 |         owner_id
[INFO] [stdout] 264 |     )
[INFO] [stdout] 265 |     .fetch_optional(&mut *tx)
[INFO] [stdout] 266 |     .await?
[INFO] [stdout] 267 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/bottle_svc.rs:411:15
[INFO] [stdout]     |
[INFO] [stdout] 411 |     if result.rows_affected() == 0 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/service/order_svc.rs:77:6
[INFO] [stdout]    |
[INFO] [stdout] 77 |     .ok_or_else(|| {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/bottle_svc.rs:372:6
[INFO] [stdout]     |
[INFO] [stdout] 372 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]   --> src/service/order_svc.rs:77:6
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let row = sqlx::query_as!(
[INFO] [stdout] 38 |         Lookup,
[INFO] [stdout] 39 |         r#"
[INFO] [stdout] 40 |         SELECT
[INFO] [stdout] 41 |             d.size_ml AS "size_ml!",
[INFO] [stdout] 42 |             d.sell_price AS "sell_price!",
[INFO] [stdout] 43 |             d.is_active AS "is_active!",
[INFO] [stdout] 44 |             bf.id AS bottle_id,
[INFO] [stdout] 45 |             bf.remaining_ml AS "remaining_ml?",
[INFO] [stdout] 46 |             bf.status AS "bottle_status: BottleStatus"
[INFO] [stdout] 47 |         FROM decant d
[INFO] [stdout] 48 |         JOIN parfume f ON f.id = d.parfume_id
[INFO] [stdout] 49 |         JOIN brands br ON br.id = f.brands_id
[INFO] [stdout] 50 |         LEFT JOIN batch_parfume_bottle bf ON bf.id = $3
[INFO] [stdout] 51 |         LEFT JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 52 |         LEFT JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 53 |         LEFT JOIN brands b ON b.id = p.brands_id
[INFO] [stdout] 54 |         WHERE d.id = $1
[INFO] [stdout] 55 |           AND br.owner_id = $2
[INFO] [stdout] 56 |           AND d.deleted_at IS NULL
[INFO] [stdout] 57 |           AND f.deleted_at IS NULL
[INFO] [stdout] 58 |           AND br.deleted_at IS NULL
[INFO] [stdout] 59 |           AND (
[INFO] [stdout] 60 |               bf.id IS NULL
[INFO] [stdout] 61 |               OR (
[INFO] [stdout] 62 |                   b.owner_id = $2
[INFO] [stdout] 63 |                   AND bp.parfume_id = d.parfume_id
[INFO] [stdout] 64 |                   AND bf.deleted_at IS NULL
[INFO] [stdout] 65 |                   AND bp.deleted_at IS NULL
[INFO] [stdout] 66 |                   AND p.deleted_at IS NULL
[INFO] [stdout] 67 |                   AND b.deleted_at IS NULL
[INFO] [stdout] 68 |               )
[INFO] [stdout] 69 |           )
[INFO] [stdout] 70 |         "#,
[INFO] [stdout] 71 |         req.decant_id,
[INFO] [stdout] 72 |         owner_id,
[INFO] [stdout] 73 |         req.bottle_id,
[INFO] [stdout] 74 |     )
[INFO] [stdout] 75 |     .fetch_optional(pool)
[INFO] [stdout] 76 |     .await?
[INFO] [stdout] 77 |     .ok_or_else(|| {
[INFO] [stdout]    |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/order_svc.rs:140:6
[INFO] [stdout]     |
[INFO] [stdout] 140 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/bottle_svc.rs:372:6
[INFO] [stdout]     |
[INFO] [stdout] 351 |     let bottle = sqlx::query!(
[INFO] [stdout] 352 |         r#"
[INFO] [stdout] 353 |         SELECT
[INFO] [stdout] 354 |             EXISTS (SELECT 1 FROM order_items oi WHERE oi.bottle_id = bf.id) AS "has_order!",
[INFO] [stdout] 355 |             EXISTS (SELECT 1 FROM stock_movements sm WHERE sm.bottle_id = bf.id) AS "has_movement!"
[INFO] [stdout] 356 |         FROM batch_parfume_bottle bf
[INFO] [stdout] 357 |         JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 358 |         JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 359 |         JOIN brands b ON b.id = p.brands_id
[INFO] [stdout] 360 |         WHERE bf.id = $1
[INFO] [stdout] 361 |           AND b.owner_id = $2
[INFO] [stdout] 362 |           AND bf.deleted_at IS NULL
[INFO] [stdout] 363 |           AND bp.deleted_at IS NULL
[INFO] [stdout] 364 |           AND p.deleted_at IS NULL
[INFO] [stdout] 365 |           AND b.deleted_at IS NULL
[INFO] [stdout] 366 |         "#,
[INFO] [stdout] 367 |         id,
[INFO] [stdout] 368 |         owner_id
[INFO] [stdout] 369 |     )
[INFO] [stdout] 370 |     .fetch_optional(pool)
[INFO] [stdout] 371 |     .await?
[INFO] [stdout] 372 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/bottle_svc.rs:391:17
[INFO] [stdout]     |
[INFO] [stdout] 391 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/bottle_svc.rs:391:17
[INFO] [stdout]     |
[INFO] [stdout] 391 |         if soft.rows_affected() == 0 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/bottle_svc.rs:411:15
[INFO] [stdout]     |
[INFO] [stdout] 411 |     if result.rows_affected() == 0 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/order_svc.rs:140:6
[INFO] [stdout]     |
[INFO] [stdout] 125 |     sqlx::query!(
[INFO] [stdout] 126 |         r#"
[INFO] [stdout] 127 |         UPDATE batch_parfume_bottle bf
[INFO] [stdout] 128 |         SET remaining_ml = bf.remaining_ml - $2
[INFO] [stdout] 129 |         WHERE bf.id = $1
[INFO] [stdout] 130 |           AND bf.remaining_ml >= $2
[INFO] [stdout] 131 |           AND bf.status = 'available'
[INFO] [stdout] 132 |           AND bf.deleted_at IS NULL
[INFO] [stdout] 133 |         RETURNING bf.remaining_ml AS "remaining_ml!"
[INFO] [stdout] 134 |         "#,
[INFO] [stdout] 135 |         bottle_id,
[INFO] [stdout] 136 |         consumption_bd
[INFO] [stdout] 137 |     )
[INFO] [stdout] 138 |     .fetch_optional(&mut *tx)
[INFO] [stdout] 139 |     .await?
[INFO] [stdout] 140 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/order_svc.rs:226:6
[INFO] [stdout]     |
[INFO] [stdout] 226 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `rows_affected` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/bottle_svc.rs:411:15
[INFO] [stdout]     |
[INFO] [stdout] 411 |     if result.rows_affected() == 0 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> src/service/order_svc.rs:77:6
[INFO] [stdout]    |
[INFO] [stdout] 77 |     .ok_or_else(|| {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/order_svc.rs:226:6
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let peek = sqlx::query!(
[INFO] [stdout] 199 |         r#"
[INFO] [stdout] 200 |         SELECT
[INFO] [stdout] 201 |             oi.id AS "id!",
[INFO] [stdout] 202 |             oi.status AS "status: OrderStatus",
[INFO] [stdout] 203 |             oi.bottle_id AS "bottle_id!",
[INFO] [stdout] 204 |             oi.decant_id AS "decant_id!",
[INFO] [stdout] 205 |             oi.quantity AS "quantity!",
[INFO] [stdout] 206 |             oi.total_price AS "total_price!",
[INFO] [stdout] 207 |             oi.price AS "price!",
[INFO] [stdout] 208 |             oi.created_at AS "created_at!",
[INFO] [stdout] 209 |             d.size_ml AS "size_ml!",
[INFO] [stdout] 210 |             p.name AS "parfume_name!",
[INFO] [stdout] 211 |             br.name AS "brands_name!"
[INFO] [stdout] 212 |         FROM order_items oi
[INFO] [stdout] 213 |         JOIN batch_parfume_bottle bf ON bf.id = oi.bottle_id
[INFO] [stdout] 214 |         JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 215 |         JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 216 |         JOIN brands br ON br.id = p.brands_id
[INFO] [stdout] 217 |         JOIN decant d ON d.id = oi.decant_id
[INFO] [stdout] 218 |         WHERE oi.id = $1
[INFO] [stdout] 219 |           AND br.owner_id = $2
[INFO] [stdout] 220 |         "#,
[INFO] [stdout] 221 |         order_id,
[INFO] [stdout] 222 |         owner_id
[INFO] [stdout] 223 |     )
[INFO] [stdout] 224 |     .fetch_optional(pool)
[INFO] [stdout] 225 |     .await?
[INFO] [stdout] 226 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/order_svc.rs:283:6
[INFO] [stdout]     |
[INFO] [stdout] 283 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/order_svc.rs:283:6
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let row = sqlx::query!(
[INFO] [stdout] 253 |         r#"
[INFO] [stdout] 254 |         SELECT
[INFO] [stdout] 255 |             oi.id AS "id!",
[INFO] [stdout] 256 |             oi.status AS "status: OrderStatus",
[INFO] [stdout] 257 |             oi.bottle_id AS "bottle_id!",
[INFO] [stdout] 258 |             oi.decant_id AS "decant_id!",
[INFO] [stdout] 259 |             oi.quantity AS "quantity!",
[INFO] [stdout] 260 |             d.size_ml AS "size_ml!",
[INFO] [stdout] 261 |             (d.size_ml * oi.quantity) AS "consumption!",
[INFO] [stdout] 262 |             bf.remaining_ml AS "remaining_ml!",
[INFO] [stdout] 263 |             oi.total_price AS "total_price!",
[INFO] [stdout] 264 |             oi.price AS "price!",
[INFO] [stdout] 265 |             oi.created_at AS "created_at!",
[INFO] [stdout] 266 |             p.name AS "parfume_name!",
[INFO] [stdout] 267 |             br.name AS "brands_name!"
[INFO] [stdout] 268 |         FROM order_items oi
[INFO] [stdout] 269 |         JOIN batch_parfume_bottle bf ON bf.id = oi.bottle_id
[INFO] [stdout] 270 |         JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 271 |         JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 272 |         JOIN brands br ON br.id = p.brands_id
[INFO] [stdout] 273 |         JOIN decant d ON d.id = oi.decant_id
[INFO] [stdout] 274 |         WHERE oi.id = $1
[INFO] [stdout] 275 |           AND br.owner_id = $2
[INFO] [stdout] 276 |         FOR UPDATE OF oi, bf
[INFO] [stdout] 277 |         "#,
[INFO] [stdout] 278 |         order_id,
[INFO] [stdout] 279 |         owner_id
[INFO] [stdout] 280 |     )
[INFO] [stdout] 281 |     .fetch_optional(&mut *tx)
[INFO] [stdout] 282 |     .await?
[INFO] [stdout] 283 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]   --> src/service/order_svc.rs:77:6
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let row = sqlx::query_as!(
[INFO] [stdout] 38 |         Lookup,
[INFO] [stdout] 39 |         r#"
[INFO] [stdout] 40 |         SELECT
[INFO] [stdout] 41 |             d.size_ml AS "size_ml!",
[INFO] [stdout] 42 |             d.sell_price AS "sell_price!",
[INFO] [stdout] 43 |             d.is_active AS "is_active!",
[INFO] [stdout] 44 |             bf.id AS bottle_id,
[INFO] [stdout] 45 |             bf.remaining_ml AS "remaining_ml?",
[INFO] [stdout] 46 |             bf.status AS "bottle_status: BottleStatus"
[INFO] [stdout] 47 |         FROM decant d
[INFO] [stdout] 48 |         JOIN parfume f ON f.id = d.parfume_id
[INFO] [stdout] 49 |         JOIN brands br ON br.id = f.brands_id
[INFO] [stdout] 50 |         LEFT JOIN batch_parfume_bottle bf ON bf.id = $3
[INFO] [stdout] 51 |         LEFT JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 52 |         LEFT JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 53 |         LEFT JOIN brands b ON b.id = p.brands_id
[INFO] [stdout] 54 |         WHERE d.id = $1
[INFO] [stdout] 55 |           AND br.owner_id = $2
[INFO] [stdout] 56 |           AND d.deleted_at IS NULL
[INFO] [stdout] 57 |           AND f.deleted_at IS NULL
[INFO] [stdout] 58 |           AND br.deleted_at IS NULL
[INFO] [stdout] 59 |           AND (
[INFO] [stdout] 60 |               bf.id IS NULL
[INFO] [stdout] 61 |               OR (
[INFO] [stdout] 62 |                   b.owner_id = $2
[INFO] [stdout] 63 |                   AND bp.parfume_id = d.parfume_id
[INFO] [stdout] 64 |                   AND bf.deleted_at IS NULL
[INFO] [stdout] 65 |                   AND bp.deleted_at IS NULL
[INFO] [stdout] 66 |                   AND p.deleted_at IS NULL
[INFO] [stdout] 67 |                   AND b.deleted_at IS NULL
[INFO] [stdout] 68 |               )
[INFO] [stdout] 69 |           )
[INFO] [stdout] 70 |         "#,
[INFO] [stdout] 71 |         req.decant_id,
[INFO] [stdout] 72 |         owner_id,
[INFO] [stdout] 73 |         req.bottle_id,
[INFO] [stdout] 74 |     )
[INFO] [stdout] 75 |     .fetch_optional(pool)
[INFO] [stdout] 76 |     .await?
[INFO] [stdout] 77 |     .ok_or_else(|| {
[INFO] [stdout]    |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/order_svc.rs:140:6
[INFO] [stdout]     |
[INFO] [stdout] 140 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/revenue_svc.rs:397:45
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/order_svc.rs:140:6
[INFO] [stdout]     |
[INFO] [stdout] 125 |     sqlx::query!(
[INFO] [stdout] 126 |         r#"
[INFO] [stdout] 127 |         UPDATE batch_parfume_bottle bf
[INFO] [stdout] 128 |         SET remaining_ml = bf.remaining_ml - $2
[INFO] [stdout] 129 |         WHERE bf.id = $1
[INFO] [stdout] 130 |           AND bf.remaining_ml >= $2
[INFO] [stdout] 131 |           AND bf.status = 'available'
[INFO] [stdout] 132 |           AND bf.deleted_at IS NULL
[INFO] [stdout] 133 |         RETURNING bf.remaining_ml AS "remaining_ml!"
[INFO] [stdout] 134 |         "#,
[INFO] [stdout] 135 |         bottle_id,
[INFO] [stdout] 136 |         consumption_bd
[INFO] [stdout] 137 |     )
[INFO] [stdout] 138 |     .fetch_optional(&mut *tx)
[INFO] [stdout] 139 |     .await?
[INFO] [stdout] 140 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/order_svc.rs:226:6
[INFO] [stdout]     |
[INFO] [stdout] 226 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/revenue_svc.rs:397:45
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/revenue_svc.rs:398:24
[INFO] [stdout]     |
[INFO] [stdout] 398 |             for row in rows {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        unreachable call
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/revenue_svc.rs:478:45
[INFO] [stdout]     |
[INFO] [stdout] 478 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/order_svc.rs:226:6
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let peek = sqlx::query!(
[INFO] [stdout] 199 |         r#"
[INFO] [stdout] 200 |         SELECT
[INFO] [stdout] 201 |             oi.id AS "id!",
[INFO] [stdout] 202 |             oi.status AS "status: OrderStatus",
[INFO] [stdout] 203 |             oi.bottle_id AS "bottle_id!",
[INFO] [stdout] 204 |             oi.decant_id AS "decant_id!",
[INFO] [stdout] 205 |             oi.quantity AS "quantity!",
[INFO] [stdout] 206 |             oi.total_price AS "total_price!",
[INFO] [stdout] 207 |             oi.price AS "price!",
[INFO] [stdout] 208 |             oi.created_at AS "created_at!",
[INFO] [stdout] 209 |             d.size_ml AS "size_ml!",
[INFO] [stdout] 210 |             p.name AS "parfume_name!",
[INFO] [stdout] 211 |             br.name AS "brands_name!"
[INFO] [stdout] 212 |         FROM order_items oi
[INFO] [stdout] 213 |         JOIN batch_parfume_bottle bf ON bf.id = oi.bottle_id
[INFO] [stdout] 214 |         JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 215 |         JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 216 |         JOIN brands br ON br.id = p.brands_id
[INFO] [stdout] 217 |         JOIN decant d ON d.id = oi.decant_id
[INFO] [stdout] 218 |         WHERE oi.id = $1
[INFO] [stdout] 219 |           AND br.owner_id = $2
[INFO] [stdout] 220 |         "#,
[INFO] [stdout] 221 |         order_id,
[INFO] [stdout] 222 |         owner_id
[INFO] [stdout] 223 |     )
[INFO] [stdout] 224 |     .fetch_optional(pool)
[INFO] [stdout] 225 |     .await?
[INFO] [stdout] 226 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/order_svc.rs:283:6
[INFO] [stdout]     |
[INFO] [stdout] 283 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/revenue_svc.rs:478:45
[INFO] [stdout]     |
[INFO] [stdout] 478 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/revenue_svc.rs:479:24
[INFO] [stdout]     |
[INFO] [stdout] 479 |             for row in rows {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        unreachable call
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ok_or_else` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/order_svc.rs:283:6
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let row = sqlx::query!(
[INFO] [stdout] 253 |         r#"
[INFO] [stdout] 254 |         SELECT
[INFO] [stdout] 255 |             oi.id AS "id!",
[INFO] [stdout] 256 |             oi.status AS "status: OrderStatus",
[INFO] [stdout] 257 |             oi.bottle_id AS "bottle_id!",
[INFO] [stdout] 258 |             oi.decant_id AS "decant_id!",
[INFO] [stdout] 259 |             oi.quantity AS "quantity!",
[INFO] [stdout] 260 |             d.size_ml AS "size_ml!",
[INFO] [stdout] 261 |             (d.size_ml * oi.quantity) AS "consumption!",
[INFO] [stdout] 262 |             bf.remaining_ml AS "remaining_ml!",
[INFO] [stdout] 263 |             oi.total_price AS "total_price!",
[INFO] [stdout] 264 |             oi.price AS "price!",
[INFO] [stdout] 265 |             oi.created_at AS "created_at!",
[INFO] [stdout] 266 |             p.name AS "parfume_name!",
[INFO] [stdout] 267 |             br.name AS "brands_name!"
[INFO] [stdout] 268 |         FROM order_items oi
[INFO] [stdout] 269 |         JOIN batch_parfume_bottle bf ON bf.id = oi.bottle_id
[INFO] [stdout] 270 |         JOIN batch_parfume bp ON bp.id = bf.batch_parfume_id
[INFO] [stdout] 271 |         JOIN parfume p ON p.id = bp.parfume_id
[INFO] [stdout] 272 |         JOIN brands br ON br.id = p.brands_id
[INFO] [stdout] 273 |         JOIN decant d ON d.id = oi.decant_id
[INFO] [stdout] 274 |         WHERE oi.id = $1
[INFO] [stdout] 275 |           AND br.owner_id = $2
[INFO] [stdout] 276 |         FOR UPDATE OF oi, bf
[INFO] [stdout] 277 |         "#,
[INFO] [stdout] 278 |         order_id,
[INFO] [stdout] 279 |         owner_id
[INFO] [stdout] 280 |     )
[INFO] [stdout] 281 |     .fetch_optional(&mut *tx)
[INFO] [stdout] 282 |     .await?
[INFO] [stdout] 283 |     .ok_or_else(|| {
[INFO] [stdout]     |      ^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/revenue_svc.rs:540:21
[INFO] [stdout]     |
[INFO] [stdout] 540 |             if rows.is_empty() {
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/revenue_svc.rs:397:45
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_empty` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/revenue_svc.rs:540:21
[INFO] [stdout]     |
[INFO] [stdout] 540 |             if rows.is_empty() {
[INFO] [stdout]     |                     ^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/revenue_svc.rs:397:45
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/revenue_svc.rs:398:24
[INFO] [stdout]     |
[INFO] [stdout] 398 |             for row in rows {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        unreachable call
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/revenue_svc.rs:478:45
[INFO] [stdout]     |
[INFO] [stdout] 478 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/revenue_svc.rs:545:45
[INFO] [stdout]     |
[INFO] [stdout] 545 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/revenue_svc.rs:545:45
[INFO] [stdout]     |
[INFO] [stdout] 545 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                        ---- ^^^ unreachable call
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/revenue_svc.rs:546:24
[INFO] [stdout]     |
[INFO] [stdout] 546 |             for row in rows {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        unreachable call
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/revenue_svc.rs:478:45
[INFO] [stdout]     |
[INFO] [stdout] 478 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/revenue_svc.rs:479:24
[INFO] [stdout]     |
[INFO] [stdout] 479 |             for row in rows {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        unreachable call
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> src/service/revenue_svc.rs:540:21
[INFO] [stdout]     |
[INFO] [stdout] 540 |             if rows.is_empty() {
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_empty` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/revenue_svc.rs:540:21
[INFO] [stdout]     |
[INFO] [stdout] 540 |             if rows.is_empty() {
[INFO] [stdout]     |                     ^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> src/service/revenue_svc.rs:545:45
[INFO] [stdout]     |
[INFO] [stdout] 545 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/revenue_svc.rs:545:45
[INFO] [stdout]     |
[INFO] [stdout] 545 |                 HashMap::with_capacity(rows.len());
[INFO] [stdout]     |                                        ---- ^^^ unreachable call
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/service/revenue_svc.rs:546:24
[INFO] [stdout]     |
[INFO] [stdout] 546 |             for row in rows {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        unreachable call
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/service/user_svc.rs:391:13
[INFO] [stdout]     |
[INFO] [stdout] 391 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nyobarust` (bin "nyobarust") due to 123 previous errors; 88 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/service/user_svc.rs:391:13
[INFO] [stdout]     |
[INFO] [stdout] 391 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nyobarust` (bin "nyobarust" test) due to 123 previous errors; 88 warnings emitted
[INFO] [stderr] warning: unused dependency `env`
[INFO] [stderr]  --> Cargo.toml:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | env = "1.0.1"
[INFO] [stderr]   | ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `env`
[INFO] [stderr] warning: unused dependency `password-hash`
[INFO] [stderr]  --> Cargo.toml:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | password-hash = "0.6.1"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `password-hash`
[INFO] [stderr] warning: unused dependency `rust_decimal`
[INFO] [stderr]   --> Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | rust_decimal = "1.42.1"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `rust_decimal`
[INFO] [stderr] warning: `nyobarust` (manifest) generated 3 warnings
[INFO] running `Command { std: "docker" "inspect" "c42cfc43da7af5af9feeab05e435d3a16f003cec8f964ce768f829668545525e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c42cfc43da7af5af9feeab05e435d3a16f003cec8f964ce768f829668545525e", kill_on_drop: false }`
[INFO] [stdout] c42cfc43da7af5af9feeab05e435d3a16f003cec8f964ce768f829668545525e
