27 lines
984 B
OCaml
27 lines
984 B
OCaml
|
let new_version = 17L and old_version = 16L
|
||
|
and identifier = "2023-09-11"
|
||
|
and migrate_doc = "index failed builds on main binary is null"
|
||
|
and rollback_doc = "index failed builds on exit code"
|
||
|
|
||
|
open Grej.Syntax
|
||
|
|
||
|
let migrate _datadir (module Db : Caqti_blocking.CONNECTION) =
|
||
|
let* () = Grej.check_version ~user_version:old_version (module Db) in
|
||
|
let* () =
|
||
|
Db.exec (Caqti_type.unit ->. Caqti_type.unit @@
|
||
|
"CREATE INDEX idx_build_failed ON build(job, start_d DESC, start_ps DESC) \
|
||
|
WHERE main_binary IS NULL")
|
||
|
()
|
||
|
in
|
||
|
Db.exec (Grej.set_version new_version) ()
|
||
|
|
||
|
let rollback _datadir (module Db : Caqti_blocking.CONNECTION) =
|
||
|
let* () = Grej.check_version ~user_version:new_version (module Db) in
|
||
|
let* () =
|
||
|
Db.exec (Caqti_type.unit ->. Caqti_type.unit @@
|
||
|
"CREATE INDEX idx_build_failed ON build(job, start_d DESC, start_ps DESC) \
|
||
|
WHERE result_code <> 0")
|
||
|
()
|
||
|
in
|
||
|
Db.exec (Grej.set_version old_version) ()
|