File tree Expand file tree Collapse file tree 11 files changed +19
-4
lines changed
crates/crates_io_database/src
migrations/2024-10-24-134209_make-unique-num-not-null Expand file tree Collapse file tree 11 files changed +19
-4
lines changed Original file line number Diff line number Diff line change @@ -990,7 +990,7 @@ diesel::table! {
990
990
/// message associated with a yanked version
991
991
yank_message -> Nullable <Text >,
992
992
/// 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 ,
994
994
}
995
995
}
996
996
Original file line number Diff line number Diff line change
1
+ alter table versions
2
+ alter column num_no_build drop not null ;
Original file line number Diff line number Diff line change
1
+ alter table versions
2
+ alter column num_no_build set not null ;
Original file line number Diff line number Diff line change @@ -245,6 +245,7 @@ mod tests {
245
245
. values ( (
246
246
versions:: crate_id. eq ( crate_id) ,
247
247
versions:: num. eq ( num) ,
248
+ versions:: num_no_build. eq ( num) ,
248
249
versions:: checksum. eq ( "" ) ,
249
250
) )
250
251
. execute ( conn)
Original file line number Diff line number Diff line change @@ -34,7 +34,7 @@ pub struct Version {
34
34
pub has_lib : Option < bool > ,
35
35
pub bin_names : Option < Vec < Option < String > > > ,
36
36
pub yank_message : Option < String > ,
37
- pub num_no_build : Option < String > ,
37
+ pub num_no_build : String ,
38
38
}
39
39
40
40
impl Version {
@@ -85,6 +85,8 @@ pub struct NewVersion<'a> {
85
85
crate_id : i32 ,
86
86
#[ builder( start_fn) ]
87
87
num : & ' a str ,
88
+ #[ builder( default = strip_build_metadata( num) ) ]
89
+ num_no_build : & ' a str ,
88
90
created_at : Option < & ' a NaiveDateTime > ,
89
91
yanked : Option < bool > ,
90
92
#[ builder( default = serde_json:: Value :: Object ( Default :: default ( ) ) ) ]
Original file line number Diff line number Diff line change @@ -69,6 +69,7 @@ async fn create_version(
69
69
. values ( (
70
70
versions:: crate_id. eq ( crate_id) ,
71
71
versions:: num. eq ( version) ,
72
+ versions:: num_no_build. eq ( version) ,
72
73
versions:: created_at. eq ( publish_time) ,
73
74
versions:: updated_at. eq ( publish_time) ,
74
75
versions:: checksum. eq ( "checksum" ) ,
Original file line number Diff line number Diff line change @@ -75,6 +75,7 @@ async fn create_version(
75
75
. values ( (
76
76
versions:: crate_id. eq ( crate_id) ,
77
77
versions:: num. eq ( version) ,
78
+ versions:: num_no_build. eq ( version) ,
78
79
versions:: created_at. eq ( publish_time) ,
79
80
versions:: updated_at. eq ( publish_time) ,
80
81
versions:: checksum. eq ( "checksum" ) ,
Original file line number Diff line number Diff line change @@ -397,6 +397,7 @@ mod tests {
397
397
. values ( (
398
398
versions:: crate_id. eq ( crate_id) ,
399
399
versions:: num. eq ( num) ,
400
+ versions:: num_no_build. eq ( num) ,
400
401
versions:: checksum. eq ( "" ) ,
401
402
) )
402
403
. returning ( versions:: id)
Original file line number Diff line number Diff line change @@ -511,6 +511,7 @@ mod tests {
511
511
. values ( (
512
512
versions:: crate_id. eq ( crate_id) ,
513
513
versions:: num. eq ( version) ,
514
+ versions:: num_no_build. eq ( version) ,
514
515
versions:: checksum. eq ( "checksum" ) ,
515
516
) )
516
517
. execute ( conn)
Original file line number Diff line number Diff line change @@ -254,10 +254,12 @@ mod tests {
254
254
version : impl Into < Cow < ' static , str > > ,
255
255
publish_time : NaiveDateTime ,
256
256
) -> impl Future < Output = i32 > {
257
+ let version = version. into ( ) ;
257
258
let future = diesel:: insert_into ( versions:: table)
258
259
. values ( (
259
260
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) ,
261
263
versions:: created_at. eq ( publish_time) ,
262
264
versions:: updated_at. eq ( publish_time) ,
263
265
versions:: checksum. eq ( "checksum" ) ,
Original file line number Diff line number Diff line change @@ -248,10 +248,12 @@ mod tests {
248
248
version : impl Into < Cow < ' static , str > > ,
249
249
publish_time : NaiveDateTime ,
250
250
) -> impl Future < Output = i32 > {
251
+ let version = version. into ( ) ;
251
252
let future = diesel:: insert_into ( versions:: table)
252
253
. values ( (
253
254
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) ,
255
257
versions:: created_at. eq ( publish_time) ,
256
258
versions:: updated_at. eq ( publish_time) ,
257
259
versions:: checksum. eq ( "checksum" ) ,
You can’t perform that action at this time.
0 commit comments