diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eabea4192ea..7f7e4159fbd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ env: # renovate: datasource=crate depName=cargo-deny versioning=semver CARGO_DENY_VERSION: 0.13.9 # renovate: datasource=crate depName=diesel_cli versioning=semver - DIESEL_CLI_VERSION: 2.0.1 + DIESEL_CLI_VERSION: 2.1.0 # renovate: datasource=npm depName=pnpm PNPM_VERSION: 8.6.0 diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 4fde1bff6dc..d9d0ba8738a 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -10,7 +10,7 @@ env: # renovate: datasource=crate depName=cargo-tarpaulin versioning=semver CARGO_TARPAULIN_VERSION: 0.25.2 # renovate: datasource=crate depName=diesel_cli versioning=semver - DIESEL_CLI_VERSION: 2.0.1 + DIESEL_CLI_VERSION: 2.1.0 # renovate: datasource=github-releases depName=rust lookupName=rust-lang/rust RUST_VERSION: 1.69.0 diff --git a/Cargo.lock b/Cargo.lock index f626ae912fe..b9bff2867ff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -264,7 +264,7 @@ dependencies = [ "async-trait", "axum-core", "axum-macros", - "bitflags", + "bitflags 1.3.2", "bytes", "futures-util", "headers", @@ -384,6 +384,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6776fc96284a0bb647b615056fc496d1fe1644a7ab01829818a6d91cae888b84" + [[package]] name = "block-buffer" version = "0.10.4" @@ -506,7 +512,7 @@ dependencies = [ "threadpool", "tikv-jemallocator", "tokio", - "toml 0.7.4", + "toml", "tower", "tower-http", "tower-service", @@ -632,7 +638,7 @@ checksum = "4f423e341edefb78c9caba2d9c7f7687d0e72e89df3ce3394554754393ac3990" dependencies = [ "anstream", "anstyle", - "bitflags", + "bitflags 1.3.2", "clap_lex", "strsim", "terminal_size", @@ -859,11 +865,11 @@ dependencies = [ [[package]] name = "diesel" -version = "2.0.4" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72eb77396836a4505da85bae0712fa324b74acfe1876d7c2f7e694ef3d0ee373" +checksum = "f7a532c1f99a0f596f6960a60d1e119e91582b24b39e2d83a190e61262c3ef0c" dependencies = [ - "bitflags", + "bitflags 2.3.1", "byteorder", "chrono", "diesel_derives", @@ -875,36 +881,45 @@ dependencies = [ [[package]] name = "diesel_derives" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad74fdcf086be3d4fdd142f67937678fe60ed431c3b2f08599e7687269410c4" +checksum = "74398b79d81e52e130d991afeed9c86034bb1b7735f46d2f5bf7deb261d80303" dependencies = [ - "proc-macro-error", + "diesel_table_macro_syntax", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.16", ] [[package]] name = "diesel_full_text_search" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ec394eff8a81dd1bbb1fc731581d07c46c3cba1c2c51246f5dabe03760e673" +checksum = "3975708a44577929dd7d921e5a4c1f95eef7c6a22d3e236d7d92fa108b535fdd" dependencies = [ "diesel", ] [[package]] name = "diesel_migrations" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ae22beef5e9d6fab9225ddb073c1c6c1a7a6ded5019d5da11d1e5c5adc34e2" +checksum = "6036b3f0120c5961381b570ee20a02432d7e2d27ea60de9578799cf9156914ac" dependencies = [ "diesel", "migrations_internals", "migrations_macros", ] +[[package]] +name = "diesel_table_macro_syntax" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5" +dependencies = [ + "syn 2.0.16", +] + [[package]] name = "digest" version = "0.10.7" @@ -1204,7 +1219,7 @@ version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b989d6a7ca95a362cf2cfc5ad688b3a467be1f87e480b8dad07fee8c79b0044" dependencies = [ - "bitflags", + "bitflags 1.3.2", "libc", "libgit2-sys", "log", @@ -1251,7 +1266,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" dependencies = [ "base64 0.13.1", - "bitflags", + "bitflags 1.3.2", "bytes", "headers-core", "http", @@ -1751,19 +1766,19 @@ dependencies = [ [[package]] name = "migrations_internals" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c493c09323068c01e54c685f7da41a9ccf9219735c3766fbfd6099806ea08fbc" +checksum = "0f23f71580015254b020e856feac3df5878c2c7a8812297edd6c0a485ac9dada" dependencies = [ "serde", - "toml 0.5.11", + "toml", ] [[package]] name = "migrations_macros" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a8ff27a350511de30cdabb77147501c36ef02e0451d957abea2f30caffb2b58" +checksum = "cce3325ac70e67bbab5bd837a31cae01f1a6db64e0e744a33cb03a543469ef08" dependencies = [ "migrations_internals", "proc-macro2", @@ -1982,7 +1997,7 @@ version = "0.10.52" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "foreign-types", "libc", @@ -2211,7 +2226,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" dependencies = [ "autocfg", - "bitflags", + "bitflags 1.3.2", "cfg-if", "concurrent-queue", "libc", @@ -2259,30 +2274,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - [[package]] name = "proc-macro2" version = "1.0.59" @@ -2312,7 +2303,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" dependencies = [ - "bitflags", + "bitflags 1.3.2", "memchr", "unicase", ] @@ -2395,7 +2386,7 @@ version = "10.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -2404,7 +2395,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -2413,7 +2404,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -2532,7 +2523,7 @@ version = "0.37.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno", "io-lifetimes", "libc", @@ -2600,7 +2591,7 @@ version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -3215,15 +3206,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - [[package]] name = "toml" version = "0.7.4" @@ -3280,7 +3262,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d1d42a9b3f3ec46ba828e8d376aec14592ea199f70a06a548587ecd1c4ab658" dependencies = [ - "bitflags", + "bitflags 1.3.2", "bytes", "futures-core", "futures-util", diff --git a/Cargo.toml b/Cargo.toml index 1c6a013bc2f..c4641f68ae1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,9 +44,9 @@ cookie = { version = "=0.17.0", features = ["secure"] } dashmap = { version = "=5.4.0", features = ["raw-api"] } derive_deref = "=1.1.1" dialoguer = "=0.10.4" -diesel = { version = "=2.0.4", features = ["postgres", "serde_json", "chrono", "r2d2"] } -diesel_full_text_search = "=2.0.0" -diesel_migrations = { version = "=2.0.0", features = ["postgres"] } +diesel = { version = "=2.1.0", features = ["postgres", "serde_json", "chrono", "r2d2"] } +diesel_full_text_search = "=2.1.0" +diesel_migrations = { version = "=2.1.0", features = ["postgres"] } dotenvy = "=0.15.7" flate2 = "=1.0.26" futures-channel = { version = "=0.3.28", default-features = false } @@ -100,6 +100,6 @@ tokio = "=1.28.2" tower-service = "=0.3.2" [build-dependencies] -diesel = { version = "=2.0.4", features = ["postgres"] } -diesel_migrations = { version = "=2.0.0", features = ["postgres"] } +diesel = { version = "=2.1.0", features = ["postgres"] } +diesel_migrations = { version = "=2.1.0", features = ["postgres"] } dotenvy = "=0.15.7" diff --git a/backend.Dockerfile b/backend.Dockerfile index 0fddbc05d78..1c54ce0fc07 100644 --- a/backend.Dockerfile +++ b/backend.Dockerfile @@ -4,7 +4,7 @@ ARG RUST_VERSION=1.69.0 FROM rust:$RUST_VERSION # renovate: datasource=crate depName=diesel_cli versioning=semver -ARG DIESEL_CLI_VERSION=2.0.1 +ARG DIESEL_CLI_VERSION=2.1.0 RUN apt-get update \ && apt-get install -y postgresql \ diff --git a/src/schema.patch b/src/schema.patch index 2ce75b41f43..ee9c4e7a940 100644 --- a/src/schema.patch +++ b/src/schema.patch @@ -1,5 +1,5 @@ diff --git a/src/schema.rs b/src/schema.rs -index 80d3baaf0..c39c711e2 100644 +index bb2658942..1bc6801ea 100644 --- a/src/schema.rs +++ b/src/schema.rs @@ -14,9 +14,7 @@ pub mod sql_types { @@ -13,23 +13,19 @@ index 80d3baaf0..c39c711e2 100644 } diesel::table! { -@@ -71,13 +69,13 @@ diesel::table! { - /// Its SQL type is `Nullable>>`. - /// +@@ -67,9 +65,9 @@ diesel::table! { /// (Automatically generated by Diesel.) + revoked -> Bool, + /// NULL or an array of crate scope patterns (see RFC #2947) - crate_scopes -> Nullable>>, + crate_scopes -> Nullable>, - /// The `endpoint_scopes` column of the `api_tokens` table. - /// - /// Its SQL type is `Nullable>>`. - /// - /// (Automatically generated by Diesel.) + /// An array of endpoint scopes or NULL for the `legacy` endpoint scope (see RFC #2947) - endpoint_scopes -> Nullable>>, + endpoint_scopes -> Nullable>, } } -@@ -195,12 +193,6 @@ diesel::table! { +@@ -193,12 +191,6 @@ diesel::table! { /// /// (Automatically generated by Diesel.) created_at -> Timestamp, @@ -42,7 +38,7 @@ index 80d3baaf0..c39c711e2 100644 } } -@@ -473,7 +465,7 @@ diesel::table! { +@@ -471,7 +463,7 @@ diesel::table! { /// Its SQL type is `Array>`. /// /// (Automatically generated by Diesel.) @@ -51,7 +47,7 @@ index 80d3baaf0..c39c711e2 100644 /// The `target` column of the `dependencies` table. /// /// Its SQL type is `Nullable`. -@@ -677,6 +669,24 @@ diesel::table! { +@@ -675,6 +667,24 @@ diesel::table! { } } @@ -76,7 +72,7 @@ index 80d3baaf0..c39c711e2 100644 diesel::table! { /// Representation of the `reserved_crate_names` table. /// -@@ -983,7 +993,8 @@ diesel::joinable!(api_tokens -> users (user_id)); +@@ -988,7 +998,8 @@ diesel::joinable!(api_tokens -> users (user_id)); diesel::joinable!(badges -> crates (crate_id)); diesel::joinable!(crate_owner_invitations -> crates (crate_id)); diesel::joinable!(crate_owners -> crates (crate_id)); @@ -86,7 +82,7 @@ index 80d3baaf0..c39c711e2 100644 diesel::joinable!(crates_categories -> categories (category_id)); diesel::joinable!(crates_categories -> crates (crate_id)); diesel::joinable!(crates_keywords -> crates (crate_id)); -@@ -996,6 +1007,7 @@ diesel::joinable!(follows -> users (user_id)); +@@ -1001,6 +1012,7 @@ diesel::joinable!(follows -> users (user_id)); diesel::joinable!(publish_limit_buckets -> users (user_id)); diesel::joinable!(publish_rate_overrides -> users (user_id)); diesel::joinable!(readme_renderings -> versions (version_id)); @@ -94,7 +90,7 @@ index 80d3baaf0..c39c711e2 100644 diesel::joinable!(version_downloads -> versions (version_id)); diesel::joinable!(version_owner_actions -> api_tokens (api_token_id)); diesel::joinable!(version_owner_actions -> users (user_id)); -@@ -1022,6 +1034,7 @@ diesel::allow_tables_to_appear_in_same_query!( +@@ -1027,6 +1039,7 @@ diesel::allow_tables_to_appear_in_same_query!( publish_limit_buckets, publish_rate_overrides, readme_renderings, diff --git a/src/schema.rs b/src/schema.rs index a11b125f755..1bc6801ea51 100644 --- a/src/schema.rs +++ b/src/schema.rs @@ -64,17 +64,9 @@ diesel::table! { /// /// (Automatically generated by Diesel.) revoked -> Bool, - /// The `crate_scopes` column of the `api_tokens` table. - /// - /// Its SQL type is `Nullable>>`. - /// - /// (Automatically generated by Diesel.) + /// NULL or an array of crate scope patterns (see RFC #2947) crate_scopes -> Nullable>, - /// The `endpoint_scopes` column of the `api_tokens` table. - /// - /// Its SQL type is `Nullable>>`. - /// - /// (Automatically generated by Diesel.) + /// An array of endpoint scopes or NULL for the `legacy` endpoint scope (see RFC #2947) endpoint_scopes -> Nullable>, } } @@ -965,6 +957,7 @@ diesel::table! { /// Its SQL type is `Bpchar`. /// /// (Automatically generated by Diesel.) + #[max_length = 64] checksum -> Bpchar, /// The `links` column of the `versions` table. ///