From 92de01c8eaba8223778a0c85380f9efebb9960b9 Mon Sep 17 00:00:00 2001 From: Uzix Date: Thu, 16 Nov 2017 09:14:50 +0300 Subject: [PATCH] Fix applying new migrations --- src/migresia_migrations.erl | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/migresia_migrations.erl b/src/migresia_migrations.erl index 0a19378..dcbcf06 100644 --- a/src/migresia_migrations.erl +++ b/src/migresia_migrations.erl @@ -131,21 +131,21 @@ load_migrations(Dir, FilterFun) -> throw(Err); Applied -> ToLoad = FilterFun(Migrations, Applied), - lists:map(fun({_, X}) -> - load_migration(Dir, binary_to_list(erlang:binary_part(X, 0, size(X) - 5))) - end, ToLoad) + lists:map(fun({Ts, FileName}) -> + {Module, _} = load_migration(Dir, binary_to_list(erlang:binary_part(FileName, 0, size(FileName) - 5))), + {Module, Ts} + end, ToLoad) end. check_dir({error, _} = Err) -> throw(Err); check_dir({ok, Filenames}) -> normalize_names(Filenames, []). -normalize_names([<> = Name|T], Acc) -> - Int = list_to_integer(binary_to_list(Short)), +normalize_names([<> = Name|T], Acc) -> + Int = list_to_integer(binary_to_list(Ts)), normalize_names(T, [{Int, Name}|Acc]); -normalize_names([<> = Name|T], Acc) - when size(R) >= 5 - andalso erlang:binary_part(R, size(R) - 5, 5) == <<".beam">> -> - Int = list_to_integer(binary_to_list(Short)), +normalize_names([<> = Name|T], Acc) + when size(R) >= 5 andalso erlang:binary_part(R, size(R) - 5, 5) == <<".beam">> -> + Int = list_to_integer(binary_to_list(Ts)), normalize_names(T, [{Int, Name}|Acc]); normalize_names([Name|T], Acc) when is_list(Name) -> normalize_names([list_to_binary(Name)|T], Acc);