mirror of
https://github.com/UzixLS/migresia.git
synced 2025-07-19 07:11:28 +03:00
Move to lager for logging
This commit is contained in:
@ -30,6 +30,6 @@
|
|||||||
{vsn, "0.0.4"},
|
{vsn, "0.0.4"},
|
||||||
{modules, [migresia, migresia_migrations]},
|
{modules, [migresia, migresia_migrations]},
|
||||||
{registered, []},
|
{registered, []},
|
||||||
{applications, [kernel, stdlib]}
|
{applications, [kernel, stdlib, lager]}
|
||||||
]
|
]
|
||||||
}.
|
}.
|
||||||
|
@ -24,6 +24,8 @@
|
|||||||
|
|
||||||
-module(migresia).
|
-module(migresia).
|
||||||
|
|
||||||
|
-compile({parse_transform, lager_transform}).
|
||||||
|
|
||||||
-export([start_all_mnesia/0,
|
-export([start_all_mnesia/0,
|
||||||
list_nodes/0,
|
list_nodes/0,
|
||||||
list_migrations/0,
|
list_migrations/0,
|
||||||
@ -37,12 +39,12 @@
|
|||||||
|
|
||||||
-spec start_all_mnesia() -> ok | {error, any()}.
|
-spec start_all_mnesia() -> ok | {error, any()}.
|
||||||
start_all_mnesia() ->
|
start_all_mnesia() ->
|
||||||
io:format("Starting Mnesia...~n", []),
|
lager:info("Starting Mnesia..."),
|
||||||
case ensure_started(mnesia) of
|
case ensure_started(mnesia) of
|
||||||
ok ->
|
ok ->
|
||||||
ensure_started_on_remotes(list_nodes());
|
ensure_started_on_remotes(list_nodes());
|
||||||
Err ->
|
Err ->
|
||||||
io:format(" => Error:~p~n", [Err]),
|
lager:error(" => Error:~p", [Err]),
|
||||||
Err
|
Err
|
||||||
end.
|
end.
|
||||||
|
|
||||||
@ -53,16 +55,16 @@ list_migrations() ->
|
|||||||
migresia_migrations:list_migrations().
|
migresia_migrations:list_migrations().
|
||||||
|
|
||||||
ensure_started_on_remotes(Nodes) ->
|
ensure_started_on_remotes(Nodes) ->
|
||||||
io:format("Ensuring Mnesia is running on nodes:~n~p~n", [Nodes]),
|
lager:info("Ensuring Mnesia is running on nodes: ~p", [Nodes]),
|
||||||
{ResL, BadNodes} = rpc:multicall(Nodes, migresia, ensure_started, [mnesia]),
|
{ResL, BadNodes} = rpc:multicall(Nodes, migresia, ensure_started, [mnesia]),
|
||||||
handle_err([X || X <- ResL, X /= ok], BadNodes).
|
handle_err([X || X <- ResL, X /= ok], BadNodes).
|
||||||
|
|
||||||
handle_err([], []) ->
|
handle_err([], []) ->
|
||||||
io:format(" => started~n", []),
|
lager:info(" => started"),
|
||||||
ok;
|
ok;
|
||||||
handle_err(Results, Bad) ->
|
handle_err(Results, Bad) ->
|
||||||
if Results /= [] -> io:format(" => Error, received: ~p~n", [Results]) end,
|
if Results /= [] -> lager:error(" => Error, received: ~p", [Results]) end,
|
||||||
if Bad /= [] -> io:format(" => Error, bad nodes: ~p~n", [Bad]) end,
|
if Bad /= [] -> lager:error(" => Error, bad nodes: ~p", [Bad]) end,
|
||||||
{error, mnesia_not_started}.
|
{error, mnesia_not_started}.
|
||||||
|
|
||||||
-spec ensure_started(atom()) -> ok | {error, any()}.
|
-spec ensure_started(atom()) -> ok | {error, any()}.
|
||||||
@ -99,7 +101,7 @@ migrate(Srcs) ->
|
|||||||
end.
|
end.
|
||||||
|
|
||||||
migrate1(Srcs) ->
|
migrate1(Srcs) ->
|
||||||
io:format("Waiting for tables (max timeout 2 minutes)...~n", []),
|
lager:debug("Waiting for tables (up to 2 minutes)..."),
|
||||||
ok = mnesia:wait_for_tables(mnesia:system_info(tables), 120000),
|
ok = mnesia:wait_for_tables(mnesia:system_info(tables), 120000),
|
||||||
case migresia_migrations:list_unapplied_ups(Srcs) of
|
case migresia_migrations:list_unapplied_ups(Srcs) of
|
||||||
{error, _} = Err -> Err;
|
{error, _} = Err -> Err;
|
||||||
@ -124,7 +126,7 @@ rollback(Srcs, Time) ->
|
|||||||
end.
|
end.
|
||||||
|
|
||||||
rollback1(Srcs, Time) ->
|
rollback1(Srcs, Time) ->
|
||||||
io:format("Waiting for tables (max timeout 2 minutes)...~n", []),
|
lager:debug("Waiting for tables (up to 2 minutes)..."),
|
||||||
ok = mnesia:wait_for_tables(mnesia:system_info(tables), 120000),
|
ok = mnesia:wait_for_tables(mnesia:system_info(tables), 120000),
|
||||||
case migresia_migrations:list_applied_ups(Srcs, Time) of
|
case migresia_migrations:list_applied_ups(Srcs, Time) of
|
||||||
{error, _} = Err -> Err;
|
{error, _} = Err -> Err;
|
||||||
|
@ -24,6 +24,8 @@
|
|||||||
|
|
||||||
-module(migresia_migrations).
|
-module(migresia_migrations).
|
||||||
|
|
||||||
|
-compile({parse_transform, lager_transform}).
|
||||||
|
|
||||||
-export([init_migrations/0,
|
-export([init_migrations/0,
|
||||||
list_migrations/0,
|
list_migrations/0,
|
||||||
list_unapplied_ups/1,
|
list_unapplied_ups/1,
|
||||||
@ -47,10 +49,10 @@ init_migrations() ->
|
|||||||
true ->
|
true ->
|
||||||
ok;
|
ok;
|
||||||
false ->
|
false ->
|
||||||
io:format("Table schema_migration not found, creating...~n", []),
|
lager:info("Table ~w not found, creating", [?TABLE]),
|
||||||
Attr = [{type, ordered_set}, {disc_copies, migresia:list_nodes()}],
|
Attr = [{type, ordered_set}, {disc_copies, migresia:list_nodes()}],
|
||||||
case mnesia:create_table(?TABLE, Attr) of
|
case mnesia:create_table(?TABLE, Attr) of
|
||||||
{atomic, ok} -> io:format(" => created~n", []);
|
{atomic, ok} -> ok;
|
||||||
{aborted, Reason} -> throw({error, Reason})
|
{aborted, Reason} -> throw({error, Reason})
|
||||||
end
|
end
|
||||||
end.
|
end.
|
||||||
@ -159,10 +161,9 @@ check_table() ->
|
|||||||
false ->
|
false ->
|
||||||
[];
|
[];
|
||||||
true ->
|
true ->
|
||||||
io:format("Waiting for tables...~n", []),
|
lager:info("Waiting for tables"),
|
||||||
case mnesia:wait_for_tables([?TABLE], 5000) of
|
case mnesia:wait_for_tables([?TABLE], 5000) of
|
||||||
ok ->
|
ok ->
|
||||||
io:format(" => done~n", []),
|
|
||||||
Select = [{{?TABLE,'_','_'},[],['$_']}],
|
Select = [{{?TABLE,'_','_'},[],['$_']}],
|
||||||
List = mnesia:dirty_select(?TABLE, Select),
|
List = mnesia:dirty_select(?TABLE, Select),
|
||||||
[ X || {?TABLE, X, true} <- List ];
|
[ X || {?TABLE, X, true} <- List ];
|
||||||
@ -177,7 +178,7 @@ load_migration(Dir, Filename) ->
|
|||||||
{module, Module} ->
|
{module, Module} ->
|
||||||
{Module, code:get_object_code(Module)};
|
{Module, code:get_object_code(Module)};
|
||||||
{error, _} = Err ->
|
{error, _} = Err ->
|
||||||
io:format("Error when loading module ~p.~n", [Filepath]),
|
lager:error("Error when loading module ~p", [Filepath]),
|
||||||
throw(Err)
|
throw(Err)
|
||||||
end.
|
end.
|
||||||
|
|
||||||
@ -196,13 +197,13 @@ get_ts_bef_last1(List) -> hd(tl(lists:reverse(List))).
|
|||||||
%%------------------------------------------------------------------------------
|
%%------------------------------------------------------------------------------
|
||||||
|
|
||||||
execute_up({Module, Ts}) ->
|
execute_up({Module, Ts}) ->
|
||||||
io:format("Executing up in ~s...~n", [Module]),
|
lager:info("Executing ~s:up", [Module]),
|
||||||
Module:up(),
|
Module:up(),
|
||||||
mnesia:dirty_write(?TABLE, {?TABLE, Ts, true}),
|
mnesia:dirty_write(?TABLE, {?TABLE, Ts, true}),
|
||||||
io:format(" => done~n", []).
|
lager:info(" => done").
|
||||||
|
|
||||||
execute_down({Module, Ts}) ->
|
execute_down({Module, Ts}) ->
|
||||||
io:format("Executing down in ~s...~n", [Module]),
|
lager:info("Executing ~s:down", [Module]),
|
||||||
Module:down(),
|
Module:down(),
|
||||||
mnesia:dirty_delete(?TABLE, Ts),
|
mnesia:dirty_delete(?TABLE, Ts),
|
||||||
io:format(" => done~n", []).
|
lager:info(" => done").
|
||||||
|
Reference in New Issue
Block a user