首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在relx版本中,我在哪里调用mnesia:create_schema/1?

在relx版本中,我在哪里调用mnesia:create_schema/1?
EN

Stack Overflow用户
提问于 2017-11-17 21:39:38
回答 1查看 234关注 0票数 1

我有一个动态口令应用程序'myapp‘,它依赖于记忆。我应该把对mnesia:create_schema/1的调用放在哪里

如果我将依赖项添加到myapp.app.src中的{applications,[]},那么mnesia将首先启动,并且我不能在myapp:start/2中调用create_schema。在myapp.script/myapp.boot中调用它可能是有意义的,但是relx不允许我添加任何东西。

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

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

EN

回答 1

Stack Overflow用户

发布于 2017-11-19 08:03:11

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47351959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档