Skip to content

Commit 622c786

Browse files
authored
Merge pull request #9767 from Turbo87/num_no_build2
database: Change `num_no_build` to be `NOT NULL`
2 parents 101076a + f12378b commit 622c786

File tree

11 files changed

+19
-4
lines changed

11 files changed

+19
-4
lines changed

crates/crates_io_database/src/schema.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -990,7 +990,7 @@ diesel::table! {
990990
/// message associated with a yanked version
991991
yank_message -> Nullable<Text>,
992992
/// This is the same as `num` without the optional "build metadata" part (except for some versions that were published before we started validating this).
993-
num_no_build -> Nullable<Varchar>,
993+
num_no_build -> Varchar,
994994
}
995995
}
996996

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
alter table versions
2+
alter column num_no_build drop not null;
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
alter table versions
2+
alter column num_no_build set not null;

src/models/default_versions.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ mod tests {
245245
.values((
246246
versions::crate_id.eq(crate_id),
247247
versions::num.eq(num),
248+
versions::num_no_build.eq(num),
248249
versions::checksum.eq(""),
249250
))
250251
.execute(conn)

src/models/version.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ pub struct Version {
3434
pub has_lib: Option<bool>,
3535
pub bin_names: Option<Vec<Option<String>>>,
3636
pub yank_message: Option<String>,
37-
pub num_no_build: Option<String>,
37+
pub num_no_build: String,
3838
}
3939

4040
impl Version {
@@ -85,6 +85,8 @@ pub struct NewVersion<'a> {
8585
crate_id: i32,
8686
#[builder(start_fn)]
8787
num: &'a str,
88+
#[builder(default = strip_build_metadata(num))]
89+
num_no_build: &'a str,
8890
created_at: Option<&'a NaiveDateTime>,
8991
yanked: Option<bool>,
9092
#[builder(default = serde_json::Value::Object(Default::default()))]

src/tests/worker/rss/sync_crate_feed.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ async fn create_version(
6969
.values((
7070
versions::crate_id.eq(crate_id),
7171
versions::num.eq(version),
72+
versions::num_no_build.eq(version),
7273
versions::created_at.eq(publish_time),
7374
versions::updated_at.eq(publish_time),
7475
versions::checksum.eq("checksum"),

src/tests/worker/rss/sync_updates_feed.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ async fn create_version(
7575
.values((
7676
versions::crate_id.eq(crate_id),
7777
versions::num.eq(version),
78+
versions::num_no_build.eq(version),
7879
versions::created_at.eq(publish_time),
7980
versions::updated_at.eq(publish_time),
8081
versions::checksum.eq("checksum"),

src/worker/jobs/archive_version_downloads.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,7 @@ mod tests {
397397
.values((
398398
versions::crate_id.eq(crate_id),
399399
versions::num.eq(num),
400+
versions::num_no_build.eq(num),
400401
versions::checksum.eq(""),
401402
))
402403
.returning(versions::id)

src/worker/jobs/downloads/process_log.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,7 @@ mod tests {
511511
.values((
512512
versions::crate_id.eq(crate_id),
513513
versions::num.eq(version),
514+
versions::num_no_build.eq(version),
514515
versions::checksum.eq("checksum"),
515516
))
516517
.execute(conn)

src/worker/jobs/rss/sync_crate_feed.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,10 +254,12 @@ mod tests {
254254
version: impl Into<Cow<'static, str>>,
255255
publish_time: NaiveDateTime,
256256
) -> impl Future<Output = i32> {
257+
let version = version.into();
257258
let future = diesel::insert_into(versions::table)
258259
.values((
259260
versions::crate_id.eq(crate_id),
260-
versions::num.eq(version.into()),
261+
versions::num.eq(version.clone()),
262+
versions::num_no_build.eq(version),
261263
versions::created_at.eq(publish_time),
262264
versions::updated_at.eq(publish_time),
263265
versions::checksum.eq("checksum"),

src/worker/jobs/rss/sync_updates_feed.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,10 +248,12 @@ mod tests {
248248
version: impl Into<Cow<'static, str>>,
249249
publish_time: NaiveDateTime,
250250
) -> impl Future<Output = i32> {
251+
let version = version.into();
251252
let future = diesel::insert_into(versions::table)
252253
.values((
253254
versions::crate_id.eq(crate_id),
254-
versions::num.eq(version.into()),
255+
versions::num.eq(version.clone()),
256+
versions::num_no_build.eq(version),
255257
versions::created_at.eq(publish_time),
256258
versions::updated_at.eq(publish_time),
257259
versions::checksum.eq("checksum"),

0 commit comments

Comments
 (0)