Files
EventHubBack/src/migrations/20260717150000_automod_tables.erl
T
aleksey e9d1a13900
CI / test (push) Failing after 37m9s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
Добавить автомодерацию: политики, порог жалоб, settings/hits API и тесты.
Refs EventHub/EventHubBack#37
Refs EventHub/EventHubBack#38
Refs EventHub/EventHubBack#39
Refs EventHub/EventHubBack#40
2026-07-17 18:09:31 +03:00

30 lines
838 B
Erlang

%% @doc Create automod_settings and automod_hit tables if missing.
-module('20260717150000_automod_tables').
-export([up/0, down/0]).
-include("records.hrl").
up() ->
ensure_table(automod_settings, record_info(fields, automod_settings)),
ensure_table(automod_hit, record_info(fields, automod_hit)),
core_automod_settings:ensure_defaults(),
ok.
down() ->
_ = mnesia:delete_table(automod_hit),
_ = mnesia:delete_table(automod_settings),
ok.
ensure_table(Table, Attrs) ->
case lists:member(Table, mnesia:system_info(tables)) of
true ->
ok;
false ->
case mnesia:create_table(Table, [{disc_copies, [node()]}, {attributes, Attrs}]) of
{atomic, ok} -> ok;
{aborted, {already_exists, Table}} -> ok;
{aborted, Reason} -> error({create_table_failed, Table, Reason})
end
end.