这应该很简单,尽管我还没有找到一种方法或例子……
Mnesia文档展示了如何从erlang shell初始化/创建Mnesia数据库,这需要使用-mnesia参数启动erl shell:
erl -mnesia dir '"/tmp/funky"'
一旦进入shell,您就可以创建模式/etc...
>mnesia:create_schema([node()]).
ok.
>mnesia:start().
ok.
好吧,这已经很简单了。如果我想从另一个erlang模块创建模式/etc,并且没有使用-mnesia参数/标志启动该进程,该怎么办?我认为这基本上意味着如何动态地,而不是运行脚本,而是从纯erlang代码方法。例如,我想做这样的事情:
-module(something).
-export([test/0]).
test() ->
erlang:setParameter("mnesia","/tmp/funcky"),
mnesia:create_schema([node()]),
...
发布于 2013-02-26 06:08:26
好吧,我想我找到解决方案了。set_env是我所需要的:
application:set_env(mnesia, dir, "/tmp/funcky"),
mnesia:create_schema([node()]),
etc...
https://stackoverflow.com/questions/15077330
复制相似问题