-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 ).