mirror of
https://github.com/processone/ejabberd.git
synced 2024-12-22 17:28:25 +01:00
Try db migration only when mnesia is configured (#1458)
This commit is contained in:
parent
fc2b71a04e
commit
4f5d54f062
@ -262,7 +262,10 @@ init([ServerHost, Opts]) ->
|
|||||||
fun(A) when is_integer(A) andalso A >= 0 -> A end, ?MAXITEMS),
|
fun(A) when is_integer(A) andalso A >= 0 -> A end, ?MAXITEMS),
|
||||||
MaxSubsNode = gen_mod:get_opt(max_subscriptions_node, Opts,
|
MaxSubsNode = gen_mod:get_opt(max_subscriptions_node, Opts,
|
||||||
fun(A) when is_integer(A) andalso A >= 0 -> A end, undefined),
|
fun(A) when is_integer(A) andalso A >= 0 -> A end, undefined),
|
||||||
[pubsub_index:init(Host, ServerHost, Opts) || gen_mod:db_type(ServerHost, ?MODULE)==mnesia],
|
case gen_mod:db_type(ServerHost, ?MODULE) of
|
||||||
|
mnesia -> init_mnesia(Host, ServerHost, Opts);
|
||||||
|
_ -> ok
|
||||||
|
end,
|
||||||
{Plugins, NodeTree, PepMapping} = init_plugins(Host, ServerHost, Opts),
|
{Plugins, NodeTree, PepMapping} = init_plugins(Host, ServerHost, Opts),
|
||||||
DefaultModule = plugin(Host, hd(Plugins)),
|
DefaultModule = plugin(Host, hd(Plugins)),
|
||||||
BaseOptions = DefaultModule:options(),
|
BaseOptions = DefaultModule:options(),
|
||||||
@ -336,10 +339,6 @@ init([ServerHost, Opts]) ->
|
|||||||
false ->
|
false ->
|
||||||
ok
|
ok
|
||||||
end,
|
end,
|
||||||
pubsub_migrate:update_node_database(Host, ServerHost),
|
|
||||||
pubsub_migrate:update_state_database(Host, ServerHost),
|
|
||||||
pubsub_migrate:update_item_database(Host, ServerHost),
|
|
||||||
pubsub_migrate:update_lastitem_database(Host, ServerHost),
|
|
||||||
{_, State} = init_send_loop(ServerHost),
|
{_, State} = init_send_loop(ServerHost),
|
||||||
{ok, State}.
|
{ok, State}.
|
||||||
|
|
||||||
@ -382,6 +381,18 @@ depends(ServerHost, Opts) ->
|
|||||||
end
|
end
|
||||||
end, Plugins).
|
end, Plugins).
|
||||||
|
|
||||||
|
init_mnesia(Host, ServerHost, Opts) ->
|
||||||
|
pubsub_index:init(Host, ServerHost, Opts),
|
||||||
|
spawn(fun() ->
|
||||||
|
%% maybe upgrade db. this can take time when upgrading existing
|
||||||
|
%% data from ejabberd 2.1.x, so we don't want this to block
|
||||||
|
%% calling gen_server:start
|
||||||
|
pubsub_migrate:update_node_database(Host, ServerHost),
|
||||||
|
pubsub_migrate:update_state_database(Host, ServerHost),
|
||||||
|
pubsub_migrate:update_item_database(Host, ServerHost),
|
||||||
|
pubsub_migrate:update_lastitem_database(Host, ServerHost)
|
||||||
|
end).
|
||||||
|
|
||||||
%% @doc Call the init/1 function for each plugin declared in the config file.
|
%% @doc Call the init/1 function for each plugin declared in the config file.
|
||||||
%% The default plugin module is implicit.
|
%% The default plugin module is implicit.
|
||||||
%% <p>The Erlang code for the plugin is located in a module called
|
%% <p>The Erlang code for the plugin is located in a module called
|
||||||
|
Loading…
Reference in New Issue
Block a user