Current section

Files

Jump to
migrant src migrant.erl
Raw

src/migrant.erl

-module(migrant).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([migrate/2]).
-file("src/migrant.gleam", 8).
-spec migrate(sqlight:connection(), binary()) -> {ok, nil} |
{error, migrant@types:error()}.
migrate(Db, Migration_dir) ->
migrant@database:create_migrations_table(
Db,
fun() ->
migrant@filesystem:load_migration_files(
Migration_dir,
fun(Migrations) ->
migrant@database:filter_applied_migrations(
Db,
Migrations,
fun(Migrations@1) ->
_pipe = migrant@database:apply_migrations(
Db,
Migrations@1
),
gleam@result:map(
_pipe,
fun(_) ->
gleam_stdlib:println(
<<"-> Migrations applied successfully"/utf8>>
),
nil
end
)
end
)
end
)
end
).