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! {
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
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 {
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)
Original file line number Diff line number Diff 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
4040impl 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 ( ) ) ) ]
Original file line number Diff line number Diff 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" ) ,
Original file line number Diff line number Diff 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" ) ,
Original file line number Diff line number Diff 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)
Original file line number Diff line number Diff 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)
Original file line number Diff line number Diff 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" ) ,
You can’t perform that action at this time.
0 commit comments