1

我有一个依赖于 mnesia 的 OTP 应用程序“myapp”。我应该把电话打到哪里mnesia:create_schema/1

如果我{applications,[]}在 myapp.app.src 中添加依赖项,mnesia 首先启动,我不能在myapp:start/2. 在 myapp.script/myapp.boot 中调用它可能有意义,但 relx 不允许我添加任何内容。

我不想让 mnesia 成为一个包含的应用程序。

编辑:我通过在 relx 配置中的应用程序中列出 mnesia 找到了一种解决方法,但mnesia:create_schema([node()]), application:ensure_all_started(mnesia, permanent)myapp:start/2. 有没有更好的办法?

4

1 回答 1

3

我也有这个问题。您应该包含{mnesia, load}在 relx 应用程序列表中,在start/2应用程序的回调中创建模式并启动 mnesia。能写{mnesia, [{dir, "YourMnesiaDBPath"}]}进去sys.config也不错。

于 2017-11-19T00:03:10.890 回答