是否有内置机制让我们在Elixir中推出Mnesia?

时间:2014-01-15 23:38:45

标签: mnesia elixir

我们似乎只能通过输入iex --erl "--mnesia dir '~/doc/'" --name mynode来启动Mnesia。

我们可以在不将参数传递给 erl 吗?

的情况下启动它

1 个答案:

答案 0 :(得分:6)

您可以在代码中动态设置它。上面的所有--erl指令都是在启动之前配置mnesia应用程序。你可以通过以下方式实现这一目标:

# First load mnesia
iex(1)> :application.load(:mnesia)
:ok
# Now configure the desired directory
iex(2)> :application.set_env(:mnesia, :dir, 'sample')
:ok
# Start mnesia as usual
iex(3)> :mnesia.start
:ok
# See if the desired info is correct
iex(4)> :mnesia.info
:ok

请注意,只有手动启动应用程序才有效。如果您是自动启动它并希望通过命令行进行配置,那么您当前的代码段是最佳选择(或使用ELIXIR_ERL_OPTS)。