diff --git a/src/canister.app.src b/src/canister.app.src index 4004798..2a80e78 100644 --- a/src/canister.app.src +++ b/src/canister.app.src @@ -11,7 +11,9 @@ {included_applications, [ mnesia ]}, - {env,[]}, + {env,[ + {mnesia_table_copies, disc} + ]}, {modules, []}, {licenses, ["MIT"]}, diff --git a/src/canister.erl b/src/canister.erl index dd80b56..eaf25fe 100644 --- a/src/canister.erl +++ b/src/canister.erl @@ -45,8 +45,12 @@ init_tables() -> init_table(canister_times, record_info(fields, canister_times)). init_table(Table, Fields) -> + MnesiaCopies = case application:get_env(canister, mnesia_table_copies, disc) of + disc -> disc_copies; + ram -> ram_copies + end, Res = mnesia:create_table(Table, [ - {disc_copies, [node()]}, + {MnesiaCopies, [node()]}, {attributes, Fields} ]), canister_log:info("Initializing Table: ~p: ~p",[Table, Res]),