【发布时间】:2014-01-16 16:00:00
【问题描述】:
看来我们只能通过输入iex --erl "--mnesia dir '~/doc/'" --name mynode来启动Mnesia。
我们可以在不向 erl 传递参数的情况下直接启动它吗?
【问题讨论】:
看来我们只能通过输入iex --erl "--mnesia dir '~/doc/'" --name mynode来启动Mnesia。
我们可以在不向 erl 传递参数的情况下直接启动它吗?
【问题讨论】:
您可以在代码中动态设置它。上面的所有--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
请注意,它仅在您手动启动应用程序时才有效。如果您是自动启动它并想通过命令行进行配置,那么您当前的 sn-p 是最好的选择(或使用ELIXIR_ERL_OPTS)。
【讨论】: