方法や例はまだ見つかりませんでしたが、これは簡単なはずです...
Mnesia のドキュメントには、erlang シェルから Mnesia データベースを初期化/作成する方法が示されています。これには、-mnesia パラメータを使用して erl シェルを起動する必要があります。
erl -mnesia dir '"/tmp/funky"'
シェルに入ったら、スキーマなどを作成できます...
>mnesia:create_schema([node()]).
ok.
>mnesia:start().
ok.
まあ、それは簡単です。別の erlang モジュールから schema/etc を作成したいのですが、プロセスを -mnesia パラメータ/フラグで開始しなかった場合はどうなりますか? 基本的には、スクリプトを実行せずに、純粋な erlang コードのアプローチから動的に行う方法を意味すると思います。たとえば、次のようなことをしたいと思います。
-module(something).
-export([test/0]).
test() ->
erlang:setParameter("mnesia","/tmp/funcky"),
mnesia:create_schema([node()]),
...