Reynir Björnsson
4461a91f87
The tuple type constructors are renamed from tupN to tN. Also, except for migrations, use the wider tuple types (up to 12 since caqti.2.1.0).
21 lines
752 B
OCaml
21 lines
752 B
OCaml
open Grej.Infix
|
|
|
|
let mixups =
|
|
Caqti_type.unit ->*
|
|
Caqti_type.t3 (Builder_db.Rep.id (`build : [`build]))
|
|
Builder_db.Rep.fpath Builder_db.Rep.fpath @@
|
|
"SELECT id, console, script FROM build \
|
|
WHERE console LIKE '%/script.txt' AND script LIKE '%/console.txt'"
|
|
|
|
let fixup =
|
|
Caqti_type.t3 (Builder_db.Rep.id (`build : [`build]))
|
|
Builder_db.Rep.fpath Builder_db.Rep.fpath ->.
|
|
Caqti_type.unit @@
|
|
"UPDATE build SET console = $2, script = $3 WHERE id = $1"
|
|
|
|
let fixup _datadir (module Db : Caqti_blocking.CONNECTION) =
|
|
Grej.check_version ~user_version:14L (module Db) >>= fun () ->
|
|
Db.collect_list mixups () >>= fun mixups ->
|
|
Grej.list_iter_result (fun (id, console, script) ->
|
|
Db.exec fixup (id, script, console))
|
|
mixups
|