[INFO] cloning repository https://github.com/GE-fighting/english-assistant-server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/GE-fighting/english-assistant-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGE-fighting%2Fenglish-assistant-server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGE-fighting%2Fenglish-assistant-server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 08fed7800d55d3c1d1c3a11ea000fdd566b3e870
[INFO] checking GE-fighting/english-assistant-server against try#2b39fe756f52bc2825bf5b2bfc385cab922dae10 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGE-fighting%2Fenglish-assistant-server" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/GE-fighting/english-assistant-server
[INFO] finished tweaking git repo https://github.com/GE-fighting/english-assistant-server
[INFO] tweaked toml for git repo https://github.com/GE-fighting/english-assistant-server written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/GE-fighting/english-assistant-server on toolchain 2b39fe756f52bc2825bf5b2bfc385cab922dae10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/GE-fighting/english-assistant-server 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" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5ebb1203d2f19f2d6cebb9c936622bde43d7bef2f4f8856f46c2c061f05776a1
[INFO] running `Command { std: "docker" "start" "-a" "5ebb1203d2f19f2d6cebb9c936622bde43d7bef2f4f8856f46c2c061f05776a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5ebb1203d2f19f2d6cebb9c936622bde43d7bef2f4f8856f46c2c061f05776a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ebb1203d2f19f2d6cebb9c936622bde43d7bef2f4f8856f46c2c061f05776a1", kill_on_drop: false }`
[INFO] [stdout] 5ebb1203d2f19f2d6cebb9c936622bde43d7bef2f4f8856f46c2c061f05776a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5ac59146d632671fcd8edec6523674a323b64f1cf6afd97ce99503d93f1d29cd
[INFO] running `Command { std: "docker" "start" "-a" "5ac59146d632671fcd8edec6523674a323b64f1cf6afd97ce99503d93f1d29cd", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.87
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking bytes v1.7.2
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking foldhash v0.1.4
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking tinyvec v1.8.0
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking unicode-bidi v0.3.17
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]     Checking hashbrown v0.15.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling cc v1.1.30
[INFO] [stderr]    Compiling thiserror v2.0.9
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling rustls v0.23.15
[INFO] [stderr]     Checking indexmap v2.6.0
[INFO] [stderr]     Checking rustls-pki-types v1.10.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking cpufeatures v0.2.14
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]     Checking url v2.5.2
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling tokio v1.40.0
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling zstd-safe v7.2.1
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]     Checking local-waker v0.1.4
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling event-listener v5.3.1
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]     Checking alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling time v0.3.36
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling crossbeam-queue v0.3.11
[INFO] [stderr]    Compiling webpki-roots v0.26.7
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking encoding_rs v0.8.34
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]     Checking actix-service v2.0.2
[INFO] [stderr]     Checking regex v1.11.0
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]     Checking brotli-decompressor v4.0.1
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling bytestring v1.3.1
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]    Compiling thiserror v1.0.64
[INFO] [stderr]    Compiling whoami v1.5.2
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling regex-lite v0.1.6
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling fastrand v2.1.1
[INFO] [stderr]     Checking flate2 v1.0.34
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking brotli v6.0.0
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]    Compiling tempfile v3.13.0
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling tokio-stream v0.1.16
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.9
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.64
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling rustls-webpki v0.102.8
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking sync_wrapper v1.0.1
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking impl-more v0.1.7
[INFO] [stderr]     Checking ipnet v2.10.1
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]     Checking sha1 v0.6.1
[INFO] [stderr]    Compiling optional-default v0.1.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.14
[INFO] [stderr]     Checking is-terminal v0.4.13
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking nu-ansi-term v0.49.0
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking flexi_logger v0.25.6
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling chrono-tz-build v0.0.3
[INFO] [stderr]    Compiling chrono-tz v0.6.3
[INFO] [stderr]     Checking zstd v0.13.2
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking actix-router v0.5.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling sqlx-core v0.8.3
[INFO] [stderr]     Checking tracing-appender v0.2.3
[INFO] [stderr]     Checking redis v0.21.7
[INFO] [stderr]     Checking tokio-util v0.7.12
[INFO] [stderr]     Checking actix-rt v2.10.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking actix-server v2.5.0
[INFO] [stderr]    Compiling sqlx-postgres v0.8.3
[INFO] [stderr]     Checking h2 v0.4.6
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking hyper v1.5.0
[INFO] [stderr]     Checking actix-http v3.9.0
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.3
[INFO] [stderr]     Checking hyper-util v0.1.9
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]    Compiling sqlx-macros v0.8.3
[INFO] [stderr]     Checking reqwest v0.12.8
[INFO] [stderr]     Checking actix-web v4.9.0
[INFO] [stderr]     Checking sqlx v0.8.3
[INFO] [stderr]     Checking deepseek-api-client v0.1.1
[INFO] [stderr]     Checking actix-cors v0.6.5
[INFO] [stderr]     Checking english_assistant_server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/infrastructure/database/repositories/grade_repository.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | /         sqlx::query_as!(
[INFO] [stdout] 28 | |             Grade,
[INFO] [stdout] 29 | |             r#"
[INFO] [stdout] 30 | |             SELECT id, name, created_at
[INFO] [stdout] ...  |
[INFO] [stdout] 34 | |             id
[INFO] [stdout] 35 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_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/infrastructure/database/repositories/grade_repository.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | /         sqlx::query_as!(
[INFO] [stdout] 43 | |             Grade,
[INFO] [stdout] 44 | |             r#"
[INFO] [stdout] 45 | |             SELECT id, name, created_at
[INFO] [stdout] ...  |
[INFO] [stdout] 48 | |             "#
[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/infrastructure/database/repositories/grade_repository.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 | /             sqlx::query_as!(
[INFO] [stdout] 61 | |                 Grade,
[INFO] [stdout] 62 | |                 r#"
[INFO] [stdout] 63 | |                 UPDATE grades
[INFO] [stdout] ...  |
[INFO] [stdout] 69 | |                 id
[INFO] [stdout] 70 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/grade_repository.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 | /             sqlx::query_as!(
[INFO] [stdout] 77 | |                 Grade,
[INFO] [stdout] 78 | |                 r#"
[INFO] [stdout] 79 | |                 INSERT INTO grades (name, created_at)
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |                 now
[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/infrastructure/database/repositories/grade_repository.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 | /         sqlx::query!(
[INFO] [stdout] 94 | |             r#"
[INFO] [stdout] 95 | |             DELETE FROM grades
[INFO] [stdout] 96 | |             WHERE id = $1
[INFO] [stdout] 97 | |             "#,
[INFO] [stdout] 98 | |             id
[INFO] [stdout] 99 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/infrastructure/database/repositories/semester_repository.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |           let semester = sqlx::query_as!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 25 | |             Semester,
[INFO] [stdout] 26 | |             r#"
[INFO] [stdout] 27 | |             SELECT id, name, created_at
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |             id
[INFO] [stdout] 32 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/grade_repository.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | /         sqlx::query_as!(
[INFO] [stdout] 28 | |             Grade,
[INFO] [stdout] 29 | |             r#"
[INFO] [stdout] 30 | |             SELECT id, name, created_at
[INFO] [stdout] ...  |
[INFO] [stdout] 34 | |             id
[INFO] [stdout] 35 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_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/infrastructure/database/repositories/semester_repository.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |           let semesters = sqlx::query_as!(
[INFO] [stdout]    |  _________________________^
[INFO] [stdout] 41 | |             Semester,
[INFO] [stdout] 42 | |             r#"
[INFO] [stdout] 43 | |             SELECT id, name, created_at
[INFO] [stdout] ...  |
[INFO] [stdout] 46 | |             "#
[INFO] [stdout] 47 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/semester_repository.rs:59:36
[INFO] [stdout]    |
[INFO] [stdout] 59 |               let updated_semester = sqlx::query_as!(
[INFO] [stdout]    |  ____________________________________^
[INFO] [stdout] 60 | |                 Semester,
[INFO] [stdout] 61 | |                 r#"
[INFO] [stdout] 62 | |                 UPDATE semesters
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |                 id
[INFO] [stdout] 69 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/semester_repository.rs:76:32
[INFO] [stdout]    |
[INFO] [stdout] 76 |               let new_semester = sqlx::query_as!(
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 77 | |                 Semester,
[INFO] [stdout] 78 | |                 r#"
[INFO] [stdout] 79 | |                 INSERT INTO semesters (name, created_at)
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |                 now
[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/infrastructure/database/repositories/grade_repository.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | /         sqlx::query_as!(
[INFO] [stdout] 43 | |             Grade,
[INFO] [stdout] 44 | |             r#"
[INFO] [stdout] 45 | |             SELECT id, name, created_at
[INFO] [stdout] ...  |
[INFO] [stdout] 48 | |             "#
[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/infrastructure/database/repositories/grade_repository.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 | /             sqlx::query_as!(
[INFO] [stdout] 61 | |                 Grade,
[INFO] [stdout] 62 | |                 r#"
[INFO] [stdout] 63 | |                 UPDATE grades
[INFO] [stdout] ...  |
[INFO] [stdout] 69 | |                 id
[INFO] [stdout] 70 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/semester_repository.rs:94:9
[INFO] [stdout]     |
[INFO] [stdout] 94  | /         sqlx::query!(
[INFO] [stdout] 95  | |             r#"
[INFO] [stdout] 96  | |             DELETE FROM semesters
[INFO] [stdout] 97  | |             WHERE id = $1
[INFO] [stdout] 98  | |             "#,
[INFO] [stdout] 99  | |             id
[INFO] [stdout] 100 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/grade_repository.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 | /             sqlx::query_as!(
[INFO] [stdout] 77 | |                 Grade,
[INFO] [stdout] 78 | |                 r#"
[INFO] [stdout] 79 | |                 INSERT INTO grades (name, created_at)
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |                 now
[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/infrastructure/database/repositories/grade_repository.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 | /         sqlx::query!(
[INFO] [stdout] 94 | |             r#"
[INFO] [stdout] 95 | |             DELETE FROM grades
[INFO] [stdout] 96 | |             WHERE id = $1
[INFO] [stdout] 97 | |             "#,
[INFO] [stdout] 98 | |             id
[INFO] [stdout] 99 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/infrastructure/database/repositories/textbook_version_repository.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |           let version = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 29 | |             TextbookVersion,
[INFO] [stdout] 30 | |             r#"
[INFO] [stdout] 31 | |             SELECT * FROM textbook_versions
[INFO] [stdout] ...  |
[INFO] [stdout] 34 | |             id
[INFO] [stdout] 35 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_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/infrastructure/database/repositories/semester_repository.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |           let semester = sqlx::query_as!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 25 | |             Semester,
[INFO] [stdout] 26 | |             r#"
[INFO] [stdout] 27 | |             SELECT id, name, created_at
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |             id
[INFO] [stdout] 32 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/semester_repository.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |           let semesters = sqlx::query_as!(
[INFO] [stdout]    |  _________________________^
[INFO] [stdout] 41 | |             Semester,
[INFO] [stdout] 42 | |             r#"
[INFO] [stdout] 43 | |             SELECT id, name, created_at
[INFO] [stdout] ...  |
[INFO] [stdout] 46 | |             "#
[INFO] [stdout] 47 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/textbook_version_repository.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |           let versions = sqlx::query_as!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 44 | |             TextbookVersion,
[INFO] [stdout] 45 | |             r#"
[INFO] [stdout] 46 | |             SELECT * FROM textbook_versions
[INFO] [stdout] 47 | |             ORDER BY id
[INFO] [stdout] 48 | |             "#
[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/infrastructure/database/repositories/textbook_version_repository.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 | /             sqlx::query_as!(
[INFO] [stdout] 60 | |                 TextbookVersion,
[INFO] [stdout] 61 | |                 r#"
[INFO] [stdout] 62 | |                 UPDATE textbook_versions
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |                 id
[INFO] [stdout] 69 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/textbook_version_repository.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 | /             sqlx::query_as!(
[INFO] [stdout] 75 | |                 TextbookVersion,
[INFO] [stdout] 76 | |                 r#"
[INFO] [stdout] 77 | |                 INSERT INTO textbook_versions (name)
[INFO] [stdout] ...  |
[INFO] [stdout] 81 | |                 version.name
[INFO] [stdout] 82 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/textbook_version_repository.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | /         sqlx::query!(
[INFO] [stdout] 92 | |             r#"
[INFO] [stdout] 93 | |             DELETE FROM textbook_versions
[INFO] [stdout] 94 | |             WHERE id = $1
[INFO] [stdout] 95 | |             "#,
[INFO] [stdout] 96 | |             id
[INFO] [stdout] 97 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/textbook_version_repository.rs:108:23
[INFO] [stdout]     |
[INFO] [stdout] 108 |           let version = sqlx::query_as!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 109 | |             TextbookVersion,
[INFO] [stdout] 110 | |             r#"
[INFO] [stdout] 111 | |             SELECT * FROM textbook_versions
[INFO] [stdout] ...   |
[INFO] [stdout] 114 | |             name
[INFO] [stdout] 115 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/semester_repository.rs:59:36
[INFO] [stdout]    |
[INFO] [stdout] 59 |               let updated_semester = sqlx::query_as!(
[INFO] [stdout]    |  ____________________________________^
[INFO] [stdout] 60 | |                 Semester,
[INFO] [stdout] 61 | |                 r#"
[INFO] [stdout] 62 | |                 UPDATE semesters
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |                 id
[INFO] [stdout] 69 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/semester_repository.rs:76:32
[INFO] [stdout]    |
[INFO] [stdout] 76 |               let new_semester = sqlx::query_as!(
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 77 | |                 Semester,
[INFO] [stdout] 78 | |                 r#"
[INFO] [stdout] 79 | |                 INSERT INTO semesters (name, created_at)
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |                 now
[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/infrastructure/database/repositories/semester_repository.rs:94:9
[INFO] [stdout]     |
[INFO] [stdout] 94  | /         sqlx::query!(
[INFO] [stdout] 95  | |             r#"
[INFO] [stdout] 96  | |             DELETE FROM semesters
[INFO] [stdout] 97  | |             WHERE id = $1
[INFO] [stdout] 98  | |             "#,
[INFO] [stdout] 99  | |             id
[INFO] [stdout] 100 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/unit_repository.rs:76:20
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let unit = sqlx::query_as!(Unit, "SELECT * FROM units 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_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/infrastructure/database/repositories/unit_repository.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let units = sqlx::query_as!(Unit, "SELECT * FROM units ORDER BY id")
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/infrastructure/database/repositories/unit_repository.rs:94:13
[INFO] [stdout]     |
[INFO] [stdout] 94  | /             sqlx::query_as!(
[INFO] [stdout] 95  | |                 Unit,
[INFO] [stdout] 96  | |                 r#"
[INFO] [stdout] 97  | |                 UPDATE units 
[INFO] [stdout] ...   |
[INFO] [stdout] 106 | |                 id
[INFO] [stdout] 107 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/unit_repository.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 | /             sqlx::query_as!(
[INFO] [stdout] 113 | |                 Unit,
[INFO] [stdout] 114 | |                 r#"
[INFO] [stdout] 115 | |                 INSERT INTO units (name, textbook_id, sequence_number, word_count)
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |                 unit.word_count
[INFO] [stdout] 123 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/unit_repository.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         sqlx::query!("DELETE FROM units 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/infrastructure/database/repositories/unit_repository.rs:152:21
[INFO] [stdout]     |
[INFO] [stdout] 152 |           let units = sqlx::query_as!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 153 | |             Unit,
[INFO] [stdout] 154 | |             "SELECT * FROM units WHERE textbook_id = $1 ORDER BY sequence_number",
[INFO] [stdout] 155 | |             textbook_id
[INFO] [stdout] 156 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_repository.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |           let word = sqlx::query_as!(
[INFO] [stdout]    |  ____________________^
[INFO] [stdout] 39 | |             Word,
[INFO] [stdout] 40 | |             r#"
[INFO] [stdout] 41 | |             SELECT 
[INFO] [stdout] ...  |
[INFO] [stdout] 48 | |             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/infrastructure/database/repositories/word_repository.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |           let words = sqlx::query_as!(
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 58 | |             Word,
[INFO] [stdout] 59 | |             r#"
[INFO] [stdout] 60 | |             SELECT 
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |             "#
[INFO] [stdout] 67 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/word_repository.rs:87:13
[INFO] [stdout]     |
[INFO] [stdout] 87  | /             sqlx::query_as!(
[INFO] [stdout] 88  | |                 Word,
[INFO] [stdout] 89  | |                 r#"
[INFO] [stdout] 90  | |                 UPDATE words 
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |                 id
[INFO] [stdout] 111 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_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/infrastructure/database/repositories/word_repository.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 sqlx::query!("SELECT word_id FROM words WHERE word = $1", entity.word)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_repository.rs:123:21
[INFO] [stdout]     |
[INFO] [stdout] 123 | /                     sqlx::query_as!(
[INFO] [stdout] 124 | |                         Word,
[INFO] [stdout] 125 | |                         r#"
[INFO] [stdout] 126 | |                         UPDATE words 
[INFO] [stdout] ...   |
[INFO] [stdout] 144 | |                         entity.example,
[INFO] [stdout] 145 | |                     )
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_repository.rs:151:21
[INFO] [stdout]     |
[INFO] [stdout] 151 | /                     sqlx::query_as!(
[INFO] [stdout] 152 | |                         Word,
[INFO] [stdout] 153 | |                         r#"
[INFO] [stdout] 154 | |                         INSERT INTO words (
[INFO] [stdout] ...   |
[INFO] [stdout] 169 | |                         entity.example
[INFO] [stdout] 170 | |                     )
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_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/infrastructure/database/repositories/word_repository.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 | /         sqlx::query!(
[INFO] [stdout] 181 | |             r#"
[INFO] [stdout] 182 | |             DELETE FROM words 
[INFO] [stdout] 183 | |             WHERE word_id = $1
[INFO] [stdout] 184 | |             "#,
[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` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/infrastructure/database/repositories/textbook_version_repository.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |           let version = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 29 | |             TextbookVersion,
[INFO] [stdout] 30 | |             r#"
[INFO] [stdout] 31 | |             SELECT * FROM textbook_versions
[INFO] [stdout] ...  |
[INFO] [stdout] 34 | |             id
[INFO] [stdout] 35 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_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/infrastructure/database/repositories/textbook_version_repository.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |           let versions = sqlx::query_as!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 44 | |             TextbookVersion,
[INFO] [stdout] 45 | |             r#"
[INFO] [stdout] 46 | |             SELECT * FROM textbook_versions
[INFO] [stdout] 47 | |             ORDER BY id
[INFO] [stdout] 48 | |             "#
[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/infrastructure/database/repositories/word_repository.rs:197:20
[INFO] [stdout]     |
[INFO] [stdout] 197 |           let word = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 198 | |             Word,
[INFO] [stdout] 199 | |             r#"
[INFO] [stdout] 200 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 207 | |             word
[INFO] [stdout] 208 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/infrastructure/database/repositories/textbook_version_repository.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 | /             sqlx::query_as!(
[INFO] [stdout] 60 | |                 TextbookVersion,
[INFO] [stdout] 61 | |                 r#"
[INFO] [stdout] 62 | |                 UPDATE textbook_versions
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |                 id
[INFO] [stdout] 69 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/textbook_version_repository.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 | /             sqlx::query_as!(
[INFO] [stdout] 75 | |                 TextbookVersion,
[INFO] [stdout] 76 | |                 r#"
[INFO] [stdout] 77 | |                 INSERT INTO textbook_versions (name)
[INFO] [stdout] ...  |
[INFO] [stdout] 81 | |                 version.name
[INFO] [stdout] 82 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/textbook_version_repository.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | /         sqlx::query!(
[INFO] [stdout] 92 | |             r#"
[INFO] [stdout] 93 | |             DELETE FROM textbook_versions
[INFO] [stdout] 94 | |             WHERE id = $1
[INFO] [stdout] 95 | |             "#,
[INFO] [stdout] 96 | |             id
[INFO] [stdout] 97 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/textbook_version_repository.rs:108:23
[INFO] [stdout]     |
[INFO] [stdout] 108 |           let version = sqlx::query_as!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 109 | |             TextbookVersion,
[INFO] [stdout] 110 | |             r#"
[INFO] [stdout] 111 | |             SELECT * FROM textbook_versions
[INFO] [stdout] ...   |
[INFO] [stdout] 114 | |             name
[INFO] [stdout] 115 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_repository.rs:216:21
[INFO] [stdout]     |
[INFO] [stdout] 216 |           let words = sqlx::query_as!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 217 | |             Word,
[INFO] [stdout] 218 | |             r#"
[INFO] [stdout] 219 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 228 | |             unit_id
[INFO] [stdout] 229 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_repository.rs:238:21
[INFO] [stdout]     |
[INFO] [stdout] 238 |           let words = sqlx::query_as!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 239 | |             Word,
[INFO] [stdout] 240 | |             r#"
[INFO] [stdout] 241 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 249 | |             search_pattern
[INFO] [stdout] 250 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_repository.rs:258:21
[INFO] [stdout]     |
[INFO] [stdout] 258 |           let count = sqlx::query_scalar!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 259 | |             r#"
[INFO] [stdout] 260 | |             SELECT COUNT(*) FROM words
[INFO] [stdout] 261 | |             "#
[INFO] [stdout] 262 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/unit_repository.rs:76:20
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let unit = sqlx::query_as!(Unit, "SELECT * FROM units 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_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/infrastructure/database/repositories/unit_repository.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let units = sqlx::query_as!(Unit, "SELECT * FROM units ORDER BY id")
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/infrastructure/database/repositories/word_unit_mapping_repository.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |           let mapping = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 37 | |             WordUnitMapping,
[INFO] [stdout] 38 | |             "SELECT * FROM word_unit_mappings WHERE id = $1",
[INFO] [stdout] 39 | |             id
[INFO] [stdout] 40 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:48:24
[INFO] [stdout]    |
[INFO] [stdout] 48 |           let mappings = sqlx::query_as!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 49 | |             WordUnitMapping,
[INFO] [stdout] 50 | |             "SELECT * FROM word_unit_mappings ORDER BY id"
[INFO] [stdout] 51 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 | /             sqlx::query_as!(
[INFO] [stdout] 62 | |                 WordUnitMapping,
[INFO] [stdout] 63 | |                 r#"
[INFO] [stdout] 64 | |                 UPDATE word_unit_mappings
[INFO] [stdout] ...  |
[INFO] [stdout] 71 | |                 id
[INFO] [stdout] 72 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 | /             sqlx::query_as!(
[INFO] [stdout] 78 | |                 WordUnitMapping,
[INFO] [stdout] 79 | |                 r#"
[INFO] [stdout] 80 | |                 INSERT INTO word_unit_mappings (word_id, unit_id)
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |                 mapping.unit_id,
[INFO] [stdout] 86 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         sqlx::query!("DELETE FROM word_unit_mappings 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/infrastructure/database/repositories/unit_repository.rs:94:13
[INFO] [stdout]     |
[INFO] [stdout] 94  | /             sqlx::query_as!(
[INFO] [stdout] 95  | |                 Unit,
[INFO] [stdout] 96  | |                 r#"
[INFO] [stdout] 97  | |                 UPDATE units 
[INFO] [stdout] ...   |
[INFO] [stdout] 106 | |                 id
[INFO] [stdout] 107 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/unit_repository.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 | /             sqlx::query_as!(
[INFO] [stdout] 113 | |                 Unit,
[INFO] [stdout] 114 | |                 r#"
[INFO] [stdout] 115 | |                 INSERT INTO units (name, textbook_id, sequence_number, word_count)
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |                 unit.word_count
[INFO] [stdout] 123 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/unit_repository.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         sqlx::query!("DELETE FROM units 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/infrastructure/database/repositories/unit_repository.rs:152:21
[INFO] [stdout]     |
[INFO] [stdout] 152 |           let units = sqlx::query_as!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 153 | |             Unit,
[INFO] [stdout] 154 | |             "SELECT * FROM units WHERE textbook_id = $1 ORDER BY sequence_number",
[INFO] [stdout] 155 | |             textbook_id
[INFO] [stdout] 156 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |           let words = sqlx::query_as!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 106 | |             Word,
[INFO] [stdout] 107 | |             r#"
[INFO] [stdout] 108 | |             select w.*
[INFO] [stdout] ...   |
[INFO] [stdout] 115 | |             unit_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/infrastructure/database/repositories/word_unit_mapping_repository.rs:124:24
[INFO] [stdout]     |
[INFO] [stdout] 124 |           let word_dto = sqlx::query_as!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 125 | |             WordDTO,
[INFO] [stdout] 126 | |             r#"
[INFO] [stdout] 127 | |             select
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | |             unit_id
[INFO] [stdout] 147 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/infrastructure/database/repositories/word_unit_mapping_repository.rs:155:24
[INFO] [stdout]     |
[INFO] [stdout] 155 |           let mappings = sqlx::query_as!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 156 | |             WordUnitMapping,
[INFO] [stdout] 157 | |             r#"
[INFO] [stdout] 158 | |             SELECT * FROM word_unit_mappings
[INFO] [stdout] ...   |
[INFO] [stdout] 162 | |             word_id
[INFO] [stdout] 163 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 | /                 sqlx::query_as!(
[INFO] [stdout] 177 | |                     WordUnitMapping,
[INFO] [stdout] 178 | |                     r#"
[INFO] [stdout] 179 | |                     UPDATE word_unit_mappings
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | |                     id
[INFO] [stdout] 187 | |                 )
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:191:17
[INFO] [stdout]     |
[INFO] [stdout] 191 | /                 sqlx::query_as!(
[INFO] [stdout] 192 | |                     WordUnitMapping,
[INFO] [stdout] 193 | |                     r#"
[INFO] [stdout] 194 | |                     INSERT INTO word_unit_mappings (word_id, unit_id)
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |                     mapping.unit_id
[INFO] [stdout] 200 | |                 )
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_repository.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |           let word = sqlx::query_as!(
[INFO] [stdout]    |  ____________________^
[INFO] [stdout] 39 | |             Word,
[INFO] [stdout] 40 | |             r#"
[INFO] [stdout] 41 | |             SELECT 
[INFO] [stdout] ...  |
[INFO] [stdout] 48 | |             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/infrastructure/database/repositories/word_repository.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |           let words = sqlx::query_as!(
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 58 | |             Word,
[INFO] [stdout] 59 | |             r#"
[INFO] [stdout] 60 | |             SELECT 
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |             "#
[INFO] [stdout] 67 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/word_repository.rs:87:13
[INFO] [stdout]     |
[INFO] [stdout] 87  | /             sqlx::query_as!(
[INFO] [stdout] 88  | |                 Word,
[INFO] [stdout] 89  | |                 r#"
[INFO] [stdout] 90  | |                 UPDATE words 
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |                 id
[INFO] [stdout] 111 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_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/infrastructure/database/repositories/word_repository.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 sqlx::query!("SELECT word_id FROM words WHERE word = $1", entity.word)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_repository.rs:123:21
[INFO] [stdout]     |
[INFO] [stdout] 123 | /                     sqlx::query_as!(
[INFO] [stdout] 124 | |                         Word,
[INFO] [stdout] 125 | |                         r#"
[INFO] [stdout] 126 | |                         UPDATE words 
[INFO] [stdout] ...   |
[INFO] [stdout] 144 | |                         entity.example,
[INFO] [stdout] 145 | |                     )
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_repository.rs:151:21
[INFO] [stdout]     |
[INFO] [stdout] 151 | /                     sqlx::query_as!(
[INFO] [stdout] 152 | |                         Word,
[INFO] [stdout] 153 | |                         r#"
[INFO] [stdout] 154 | |                         INSERT INTO words (
[INFO] [stdout] ...   |
[INFO] [stdout] 169 | |                         entity.example
[INFO] [stdout] 170 | |                     )
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_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/infrastructure/database/repositories/word_repository.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 | /         sqlx::query!(
[INFO] [stdout] 181 | |             r#"
[INFO] [stdout] 182 | |             DELETE FROM words 
[INFO] [stdout] 183 | |             WHERE word_id = $1
[INFO] [stdout] 184 | |             "#,
[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` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/infrastructure/database/repositories/word_repository.rs:197:20
[INFO] [stdout]     |
[INFO] [stdout] 197 |           let word = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 198 | |             Word,
[INFO] [stdout] 199 | |             r#"
[INFO] [stdout] 200 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 207 | |             word
[INFO] [stdout] 208 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/infrastructure/database/repositories/word_repository.rs:216:21
[INFO] [stdout]     |
[INFO] [stdout] 216 |           let words = sqlx::query_as!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 217 | |             Word,
[INFO] [stdout] 218 | |             r#"
[INFO] [stdout] 219 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 228 | |             unit_id
[INFO] [stdout] 229 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_repository.rs:238:21
[INFO] [stdout]     |
[INFO] [stdout] 238 |           let words = sqlx::query_as!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 239 | |             Word,
[INFO] [stdout] 240 | |             r#"
[INFO] [stdout] 241 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 249 | |             search_pattern
[INFO] [stdout] 250 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_repository.rs:258:21
[INFO] [stdout]     |
[INFO] [stdout] 258 |           let count = sqlx::query_scalar!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 259 | |             r#"
[INFO] [stdout] 260 | |             SELECT COUNT(*) FROM words
[INFO] [stdout] 261 | |             "#
[INFO] [stdout] 262 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |           let mapping = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 37 | |             WordUnitMapping,
[INFO] [stdout] 38 | |             "SELECT * FROM word_unit_mappings WHERE id = $1",
[INFO] [stdout] 39 | |             id
[INFO] [stdout] 40 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:48:24
[INFO] [stdout]    |
[INFO] [stdout] 48 |           let mappings = sqlx::query_as!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 49 | |             WordUnitMapping,
[INFO] [stdout] 50 | |             "SELECT * FROM word_unit_mappings ORDER BY id"
[INFO] [stdout] 51 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 | /             sqlx::query_as!(
[INFO] [stdout] 62 | |                 WordUnitMapping,
[INFO] [stdout] 63 | |                 r#"
[INFO] [stdout] 64 | |                 UPDATE word_unit_mappings
[INFO] [stdout] ...  |
[INFO] [stdout] 71 | |                 id
[INFO] [stdout] 72 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 | /             sqlx::query_as!(
[INFO] [stdout] 78 | |                 WordUnitMapping,
[INFO] [stdout] 79 | |                 r#"
[INFO] [stdout] 80 | |                 INSERT INTO word_unit_mappings (word_id, unit_id)
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |                 mapping.unit_id,
[INFO] [stdout] 86 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         sqlx::query!("DELETE FROM word_unit_mappings 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/infrastructure/database/repositories/word_unit_mapping_repository.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |           let words = sqlx::query_as!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 106 | |             Word,
[INFO] [stdout] 107 | |             r#"
[INFO] [stdout] 108 | |             select w.*
[INFO] [stdout] ...   |
[INFO] [stdout] 115 | |             unit_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/infrastructure/database/repositories/word_unit_mapping_repository.rs:124:24
[INFO] [stdout]     |
[INFO] [stdout] 124 |           let word_dto = sqlx::query_as!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 125 | |             WordDTO,
[INFO] [stdout] 126 | |             r#"
[INFO] [stdout] 127 | |             select
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | |             unit_id
[INFO] [stdout] 147 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/infrastructure/database/repositories/word_unit_mapping_repository.rs:155:24
[INFO] [stdout]     |
[INFO] [stdout] 155 |           let mappings = sqlx::query_as!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 156 | |             WordUnitMapping,
[INFO] [stdout] 157 | |             r#"
[INFO] [stdout] 158 | |             SELECT * FROM word_unit_mappings
[INFO] [stdout] ...   |
[INFO] [stdout] 162 | |             word_id
[INFO] [stdout] 163 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 | /                 sqlx::query_as!(
[INFO] [stdout] 177 | |                     WordUnitMapping,
[INFO] [stdout] 178 | |                     r#"
[INFO] [stdout] 179 | |                     UPDATE word_unit_mappings
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | |                     id
[INFO] [stdout] 187 | |                 )
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[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/infrastructure/database/repositories/word_unit_mapping_repository.rs:191:17
[INFO] [stdout]     |
[INFO] [stdout] 191 | /                 sqlx::query_as!(
[INFO] [stdout] 192 | |                     WordUnitMapping,
[INFO] [stdout] 193 | |                     r#"
[INFO] [stdout] 194 | |                     INSERT INTO word_unit_mappings (word_id, unit_id)
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |                     mapping.unit_id
[INFO] [stdout] 200 | |                 )
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[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: `crate::common::utils`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::common::utils;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `web`
[INFO] [stdout]   --> src/main.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use actix_web::{middleware, web, App, HttpServer};
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `FixedOffset`, and `TimeZone`
[INFO] [stdout]   --> src/main.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use chrono::{DateTime, Duration, FixedOffset, TimeZone, Utc};
[INFO] [stdout]    |              ^^^^^^^^            ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono_tz::Asia::Shanghai`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use chrono_tz::Asia::Shanghai;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::api::dto::response::ApiResponse`
[INFO] [stdout]  --> src/api/handler/system_config_handler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::api::dto::response::ApiResponse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/api/handler/system_config_handler.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, error, info, instrument};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::api::dto::unit_word_dto::WordPageRequestDTO`
[INFO] [stdout]  --> src/api/handler/word_handler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::api::dto::unit_word_dto::WordPageRequestDTO;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::instrument`
[INFO] [stdout]  --> src/api/handler/word_handler.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::instrument;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HttpMessage`
[INFO] [stdout]  --> src/app/request_logger.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Error, HttpMessage,
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::llm_config::LLMConfig`
[INFO] [stdout]  --> src/config/settings.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::llm_config::LLMConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug` and `Formatter`
[INFO] [stdout]  --> src/domain/services/impls/system_config_service_impl.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Paginated`
[INFO] [stdout]  --> src/domain/services/impls/word_service_impl.rs:3:53
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::infrastructure::database::repositories::{Paginated, WordRepository};
[INFO] [stdout]   |                                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/domain/services/interfaces/system_config_service.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `redis::ToRedisArgs`
[INFO] [stdout]  --> src/infrastructure/cache/redis/config.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use redis::ToRedisArgs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::api::dto::unit_word_dto::WordPageRequestDTO`
[INFO] [stdout]  --> src/infrastructure/database/repositories/word_repository.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::api::dto::unit_word_dto::WordPageRequestDTO;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::database::repositories::base::Paginated`
[INFO] [stdout]  --> src/infrastructure/database/repositories/word_repository.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::infrastructure::database::repositories::base::Paginated;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pool` and `Postgres`
[INFO] [stdout]  --> src/infrastructure/database/repositories/word_repository.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use sqlx::{PgPool, Pool, Postgres};
[INFO] [stdout]   |                    ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dotenv::dotenv`
[INFO] [stdout]  --> src/infrastructure/llm/impl_deepseek.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use dotenv::dotenv;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/infrastructure/llm/impl_deepseek.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/infrastructure/third_party/implementations.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::utils`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::common::utils;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `web`
[INFO] [stdout]   --> src/main.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use actix_web::{middleware, web, App, HttpServer};
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `FixedOffset`, and `TimeZone`
[INFO] [stdout]   --> src/main.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use chrono::{DateTime, Duration, FixedOffset, TimeZone, Utc};
[INFO] [stdout]    |              ^^^^^^^^            ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono_tz::Asia::Shanghai`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use chrono_tz::Asia::Shanghai;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::api::dto::response::ApiResponse`
[INFO] [stdout]  --> src/api/handler/system_config_handler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::api::dto::response::ApiResponse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/api/handler/system_config_handler.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, error, info, instrument};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::api::dto::unit_word_dto::WordPageRequestDTO`
[INFO] [stdout]  --> src/api/handler/word_handler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::api::dto::unit_word_dto::WordPageRequestDTO;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::instrument`
[INFO] [stdout]  --> src/api/handler/word_handler.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::instrument;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HttpMessage`
[INFO] [stdout]  --> src/app/request_logger.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Error, HttpMessage,
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::llm_config::LLMConfig`
[INFO] [stdout]  --> src/config/settings.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::llm_config::LLMConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug` and `Formatter`
[INFO] [stdout]  --> src/domain/services/impls/system_config_service_impl.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Paginated`
[INFO] [stdout]  --> src/domain/services/impls/word_service_impl.rs:3:53
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::infrastructure::database::repositories::{Paginated, WordRepository};
[INFO] [stdout]   |                                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/domain/services/interfaces/system_config_service.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `redis::ToRedisArgs`
[INFO] [stdout]  --> src/infrastructure/cache/redis/config.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use redis::ToRedisArgs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::api::dto::unit_word_dto::WordPageRequestDTO`
[INFO] [stdout]  --> src/infrastructure/database/repositories/word_repository.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::api::dto::unit_word_dto::WordPageRequestDTO;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::database::repositories::base::Paginated`
[INFO] [stdout]  --> src/infrastructure/database/repositories/word_repository.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::infrastructure::database::repositories::base::Paginated;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pool` and `Postgres`
[INFO] [stdout]  --> src/infrastructure/database/repositories/word_repository.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use sqlx::{PgPool, Pool, Postgres};
[INFO] [stdout]   |                    ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/infrastructure/third_party/implementations.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/infrastructure/database/repositories/word_repository.rs:265:19
[INFO] [stdout]     |
[INFO] [stdout] 265 |         .map_err(|e| anyhow!(e))?;
[INFO] [stdout]     |                   ^  ---------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 265 |         .map_err(|e: /* Type */| anyhow!(e))?;
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/infrastructure/database/repositories/word_repository.rs:265:19
[INFO] [stdout]     |
[INFO] [stdout] 265 |         .map_err(|e| anyhow!(e))?;
[INFO] [stdout]     |                   ^  ---------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 265 |         .map_err(|e: /* Type */| anyhow!(e))?;
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `str` cannot be indexed by `{integer}`
[INFO] [stdout]    --> src/infrastructure/llm/impl_deepseek.rs:213:59
[INFO] [stdout]     |
[INFO] [stdout] 213 |                         println!("English: {}", sentences[0].0);
[INFO] [stdout]     |                                                           ^ string indices are ranges of `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `SliceIndex<str>` is not implemented for `{integer}`
[INFO] [stdout]     = note: you can use `.chars().nth()` or `.bytes().nth()`
[INFO] [stdout]             for more information, see chapter 8 in The Book: <https://doc.rust-lang.org/book/ch08-02-strings.html#indexing-into-strings>
[INFO] [stdout]     = help: the following other types implement trait `SliceIndex<T>`:
[INFO] [stdout]               `usize` implements `SliceIndex<ByteStr>`
[INFO] [stdout]               `usize` implements `SliceIndex<[T]>`
[INFO] [stdout]     = note: required for `std::string::String` to implement `std::ops::Index<{integer}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `str` cannot be indexed by `{integer}`
[INFO] [stdout]    --> src/infrastructure/llm/impl_deepseek.rs:214:59
[INFO] [stdout]     |
[INFO] [stdout] 214 |                         println!("Chinese: {}", sentences[0].1);
[INFO] [stdout]     |                                                           ^ string indices are ranges of `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `SliceIndex<str>` is not implemented for `{integer}`
[INFO] [stdout]     = note: you can use `.chars().nth()` or `.bytes().nth()`
[INFO] [stdout]             for more information, see chapter 8 in The Book: <https://doc.rust-lang.org/book/ch08-02-strings.html#indexing-into-strings>
[INFO] [stdout]     = help: the following other types implement trait `SliceIndex<T>`:
[INFO] [stdout]               `usize` implements `SliceIndex<ByteStr>`
[INFO] [stdout]               `usize` implements `SliceIndex<[T]>`
[INFO] [stdout]     = note: required for `std::string::String` to implement `std::ops::Index<{integer}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `str` cannot be indexed by `{integer}`
[INFO] [stdout]    --> src/infrastructure/llm/impl_deepseek.rs:216:59
[INFO] [stdout]     |
[INFO] [stdout] 216 |                         println!("English: {}", sentences[1].0);
[INFO] [stdout]     |                                                           ^ string indices are ranges of `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `SliceIndex<str>` is not implemented for `{integer}`
[INFO] [stdout]     = note: you can use `.chars().nth()` or `.bytes().nth()`
[INFO] [stdout]             for more information, see chapter 8 in The Book: <https://doc.rust-lang.org/book/ch08-02-strings.html#indexing-into-strings>
[INFO] [stdout]     = help: the following other types implement trait `SliceIndex<T>`:
[INFO] [stdout]               `usize` implements `SliceIndex<ByteStr>`
[INFO] [stdout]               `usize` implements `SliceIndex<[T]>`
[INFO] [stdout]     = note: required for `std::string::String` to implement `std::ops::Index<{integer}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `str` cannot be indexed by `{integer}`
[INFO] [stdout]    --> src/infrastructure/llm/impl_deepseek.rs:217:59
[INFO] [stdout]     |
[INFO] [stdout] 217 |                         println!("Chinese: {}", sentences[1].1);
[INFO] [stdout]     |                                                           ^ string indices are ranges of `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `SliceIndex<str>` is not implemented for `{integer}`
[INFO] [stdout]     = note: you can use `.chars().nth()` or `.bytes().nth()`
[INFO] [stdout]             for more information, see chapter 8 in The Book: <https://doc.rust-lang.org/book/ch08-02-strings.html#indexing-into-strings>
[INFO] [stdout]     = help: the following other types implement trait `SliceIndex<T>`:
[INFO] [stdout]               `usize` implements `SliceIndex<ByteStr>`
[INFO] [stdout]               `usize` implements `SliceIndex<[T]>`
[INFO] [stdout]     = note: required for `std::string::String` to implement `std::ops::Index<{integer}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `iter` found for struct `std::string::String` in the current scope
[INFO] [stdout]    --> src/infrastructure/llm/impl_deepseek.rs:219:56
[INFO] [stdout]     |
[INFO] [stdout] 219 |                         for (i, (en, zh)) in sentences.iter().enumerate() {
[INFO] [stdout]     |                                                        ^^^^ method not found in `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] help: because of the in-memory representation of `&str`, to obtain an `Iterator` over each of its codepoint use method `chars`
[INFO] [stdout]     |
[INFO] [stdout] 219 -                         for (i, (en, zh)) in sentences.iter().enumerate() {
[INFO] [stdout] 219 +                         for (i, (en, zh)) in sentences.chars().enumerate() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fmt::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `str` cannot be indexed by `{integer}`
[INFO] [stdout]    --> src/infrastructure/llm/impl_yi.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 println!("English: {}", sentences[0].0);
[INFO] [stdout]     |                                                   ^ string indices are ranges of `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `SliceIndex<str>` is not implemented for `{integer}`
[INFO] [stdout]     = note: you can use `.chars().nth()` or `.bytes().nth()`
[INFO] [stdout]             for more information, see chapter 8 in The Book: <https://doc.rust-lang.org/book/ch08-02-strings.html#indexing-into-strings>
[INFO] [stdout]     = help: the following other types implement trait `SliceIndex<T>`:
[INFO] [stdout]               `usize` implements `SliceIndex<ByteStr>`
[INFO] [stdout]               `usize` implements `SliceIndex<[T]>`
[INFO] [stdout]     = note: required for `std::string::String` to implement `std::ops::Index<{integer}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `str` cannot be indexed by `{integer}`
[INFO] [stdout]    --> src/infrastructure/llm/impl_yi.rs:168:51
[INFO] [stdout]     |
[INFO] [stdout] 168 |                 println!("Chinese: {}", sentences[0].1);
[INFO] [stdout]     |                                                   ^ string indices are ranges of `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `SliceIndex<str>` is not implemented for `{integer}`
[INFO] [stdout]     = note: you can use `.chars().nth()` or `.bytes().nth()`
[INFO] [stdout]             for more information, see chapter 8 in The Book: <https://doc.rust-lang.org/book/ch08-02-strings.html#indexing-into-strings>
[INFO] [stdout]     = help: the following other types implement trait `SliceIndex<T>`:
[INFO] [stdout]               `usize` implements `SliceIndex<ByteStr>`
[INFO] [stdout]               `usize` implements `SliceIndex<[T]>`
[INFO] [stdout]     = note: required for `std::string::String` to implement `std::ops::Index<{integer}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `str` cannot be indexed by `{integer}`
[INFO] [stdout]    --> src/infrastructure/llm/impl_yi.rs:170:51
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 println!("English: {}", sentences[1].0);
[INFO] [stdout]     |                                                   ^ string indices are ranges of `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `SliceIndex<str>` is not implemented for `{integer}`
[INFO] [stdout]     = note: you can use `.chars().nth()` or `.bytes().nth()`
[INFO] [stdout]             for more information, see chapter 8 in The Book: <https://doc.rust-lang.org/book/ch08-02-strings.html#indexing-into-strings>
[INFO] [stdout]     = help: the following other types implement trait `SliceIndex<T>`:
[INFO] [stdout]               `usize` implements `SliceIndex<ByteStr>`
[INFO] [stdout]               `usize` implements `SliceIndex<[T]>`
[INFO] [stdout]     = note: required for `std::string::String` to implement `std::ops::Index<{integer}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `str` cannot be indexed by `{integer}`
[INFO] [stdout]    --> src/infrastructure/llm/impl_yi.rs:171:51
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 println!("Chinese: {}", sentences[1].1);
[INFO] [stdout]     |                                                   ^ string indices are ranges of `usize`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `SliceIndex<str>` is not implemented for `{integer}`
[INFO] [stdout]     = note: you can use `.chars().nth()` or `.bytes().nth()`
[INFO] [stdout]             for more information, see chapter 8 in The Book: <https://doc.rust-lang.org/book/ch08-02-strings.html#indexing-into-strings>
[INFO] [stdout]     = help: the following other types implement trait `SliceIndex<T>`:
[INFO] [stdout]               `usize` implements `SliceIndex<ByteStr>`
[INFO] [stdout]               `usize` implements `SliceIndex<[T]>`
[INFO] [stdout]     = note: required for `std::string::String` to implement `std::ops::Index<{integer}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `&std::string::String` is not an iterator
[INFO] [stdout]    --> src/infrastructure/llm/impl_yi.rs:173:33
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 for (eng, _) in &sentences {
[INFO] [stdout]     |                                 ^^^^^^^^^^ `&std::string::String` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Iterator` is not implemented for `&std::string::String`
[INFO] [stdout]     = note: required for `&std::string::String` to implement `IntoIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `&std::string::String` is not an iterator
[INFO] [stdout]    --> src/infrastructure/llm/impl_yi.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 for (_, chn) in &sentences {
[INFO] [stdout]     |                                 ^^^^^^^^^^ `&std::string::String` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Iterator` is not implemented for `&std::string::String`
[INFO] [stdout]     = note: required for `&std::string::String` to implement `IntoIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in an async block that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/infrastructure/llm/impl_yi.rs:157:10
[INFO] [stdout]     |
[INFO] [stdout] 151 |     #[tokio::test]
[INFO] [stdout]     |     -------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 157 |         )?;
[INFO] [stdout]     |          ^ cannot use the `?` operator in an async block that returns `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in an async block that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/infrastructure/llm/impl_yi.rs:202:10
[INFO] [stdout]     |
[INFO] [stdout] 196 |     #[tokio::test]
[INFO] [stdout]     |     -------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 202 |         )?;
[INFO] [stdout]     |          ^ cannot use the `?` operator in an async block that returns `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in an async block that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/infrastructure/llm/impl_yi.rs:238:10
[INFO] [stdout]     |
[INFO] [stdout] 230 |     #[tokio::test]
[INFO] [stdout]     |     -------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 238 |         )?;
[INFO] [stdout]     |          ^ cannot use the `?` operator in an async block that returns `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fmt::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `units` is never read
[INFO] [stdout]   --> src/domain/services/impls/textbook_service_impl.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let mut units = vec![];
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `units` is never read
[INFO] [stdout]   --> src/domain/services/impls/textbook_service_impl.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let mut units = vec![];
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `english_assistant_server` (bin "english_assistant_server") due to 44 previous errors; 22 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `english_assistant_server` (bin "english_assistant_server" test) due to 58 previous errors; 20 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "5ac59146d632671fcd8edec6523674a323b64f1cf6afd97ce99503d93f1d29cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ac59146d632671fcd8edec6523674a323b64f1cf6afd97ce99503d93f1d29cd", kill_on_drop: false }`
[INFO] [stdout] 5ac59146d632671fcd8edec6523674a323b64f1cf6afd97ce99503d93f1d29cd
