2017-11-17 3 views
1

私はmnesiaに依存するOTPアプリケーション 'myapp'を持っています。どこでmnesia:create_schema/1に電話をかけますか?どこでmnesia:create_schema/1をrelxリリースで呼びますか?

myapp.app.srcの{applications,[]}に依存関係を追加すると、mnesiaが最初に起動し、myapp:start/2にcreate_schemaを呼び出すことができません。 myapp.script/myapp.bootでそれを呼び出すのは理にかなっているかもしれませんが、relxはそれに何も追加させません。

私はmnesiaを付属のアプリケーションにしたくありません。

EDIT:relx configのアプリケーションでmnesiaを一覧表示し、mnesia:create_schema([node()]), application:ensure_all_started(mnesia, permanent)myapp:start/2に設定して回避策を見つけました。より良い方法がありますか?

答えて

2

この問題もありました。 relxアプリケーションリストに{mnesia, load}を含め、start/2のコールバックでスキーマを作成し、mnesiaを開始する必要があります。 をsys.configにも書き込むのは良いことです。

関連する問題