【问题标题】:creating mnesia from an erlang module从 erlang 模块创建 mnesia
【发布时间】:2013-02-11 04:59:51
【问题描述】:

这应该很简单,虽然我还没有找到方法或例子......

Mnesia 文档展示了如何从 erlang shell 初始化/创建 Mnesia 数据库,这需要使用 -mnesia 参数启动 erl shell:

erl -mnesia dir '"/tmp/funky"'

在 shell 中,您可以创建架构/等...

>mnesia:create_schema([node()]).
ok.
>mnesia:start().
ok.

嗯,这很简单。如果我想从另一个 erlang 模块创建模式 / 等,并且我没有使用 -mnesia parateter/flag 启动该过程怎么办?我认为这基本上意味着,如何动态地,而不是运行脚本,而是从纯 erlang 代码方法。例如,我想做这样的事情:

-module(something).
-export([test/0]).

test() ->
    erlang:setParameter("mnesia","/tmp/funcky"),
    mnesia:create_schema([node()]),
    ...

【问题讨论】:

    标签: erlang mnesia


    【解决方案1】:

    嗯,我想我找到了解决方案。 set_env 是我需要的:

    application:set_env(mnesia, dir, "/tmp/funcky"),
    mnesia:create_schema([node()]),
    etc...
    

    【讨论】:

      猜你喜欢
      • 2014-06-06
      • 2013-05-20
      • 2016-10-28
      • 2011-06-01
      • 2015-08-15
      • 2017-03-20
      • 2012-01-10
      • 1970-01-01
      • 2013-07-03
      相关资源
      最近更新 更多