Module Rowtype_migrate.Make

The record's rules over a dialect: what a dialect's library calls its apply and status.

Parameters

module D : Dialect

Signature

val apply : table:string -> libraries:source list -> D.conn -> migration list -> (unit, [> error ]) Stdlib.result

Every migration the database has not recorded, in version order, each in a transaction of its own that first asks the record whether another process applied it meanwhile, under Dialect.exclusively; refused as `Record where the record and the list disagree.

val status : table:string -> libraries:source list -> D.conn -> migration list -> (status list, [> error ]) Stdlib.result

What apply would do, without doing it, one status for each source in the order apply takes them, the application's last; it writes nothing, not even the record's table.