working database~~

This commit is contained in:
swrup 2025-11-22 21:40:24 +01:00
parent 0c5622324c
commit 056c111d88
5 changed files with 99 additions and 92 deletions

View file

@ -36,13 +36,15 @@ end
let secmod_signkey = Secmod_signkey.v
let secmod_denom = Secmod_denom.v
let caqti :
( env,
(Caqti_miou.connection, Caqti_error.t) Caqti_miou_unix.Pool.t )
Vif.Device.device =
let finally pool = Caqti_miou_unix.Pool.drain pool in
Vif.Device.v ~name:"caqti" ~finally [] @@ fun { caqti_switch; db_uri } ->
match Caqti_miou_unix.connect_pool ~sw:caqti_switch db_uri with
let db_connection : (env, Caqti_miou.connection) Vif.Device.device =
let finally (module Conn : Caqti_miou.CONNECTION) = Conn.disconnect () in
Vif.Device.v ~name:"db_connection" ~finally []
@@ fun { caqti_switch; db_uri } ->
match Caqti_miou_unix.connect ~sw:caqti_switch db_uri with
| Error err ->
Fmt.failwith "Database connection failure: %a." Caqti_error.pp err
| Ok pool -> pool
| Ok conn -> (
match Pg.preflight conn with
| Error err ->
Fmt.failwith "Database preflight failure: %a." Caqti_error.pp err
| Ok () -> conn)