···299299300300type t = {did: string; db: (module Rapper_helper.CONNECTION)}
301301302302-let connect did : t Lwt.t =
303303- let%lwt db = Util.connect_sqlite (Util.Constants.user_db_location did) in
302302+let connect ?create ?write did : t Lwt.t =
303303+ let%lwt db =
304304+ Util.connect_sqlite ?create ?write (Util.Constants.user_db_location did)
305305+ in
304306 Lwt.return {did; db}
305307306308let init t : unit Lwt.t =
+6-2
pegasus/lib/util.ml
···185185 Lwt.return conn
186186187187(* opens an sqlite connection *)
188188-let connect_sqlite db_uri =
189189- match%lwt Caqti_lwt_unix.connect db_uri with
188188+let connect_sqlite ?(create = false) ?(write = true) db_uri =
189189+ let uri =
190190+ Uri.add_query_params' db_uri
191191+ [("create", string_of_bool create); ("write", string_of_bool write)]
192192+ in
193193+ match%lwt Caqti_lwt_unix.connect uri with
190194 | Ok c ->
191195 _init_connection c
192196 | Error e ->