我有ChicagoBoss应用程序,我想使用mnesia来存储注册用户的数据。
我在boss.config中设置了{db_adapter, mnesia}。现在,我尝试创建mnesia数据库和表。
mnesia:stop(),
mnesia:create_schema([node()]),
mnesia:change_table_copy_type(schema, node(), disc_copies),
ok = mnesia:start(),
ExistingTables = mnesia:system_info(tables),
TablesToCreate = (?MODELS ++ ['_ids_']) -- ExistingTables,
lists:foreach(fun(T) ->
case T of
'_ids_' ->
{atomic, ok} = mnesia:create_table('_ids_', [{attributes, [type, id]}, {disc_copies, node()}]);
_ ->
% get model record
ModelRecord = boss_record_lib:dummy_record(lists:nth(1, ?MODELS)),
% get model attributes
Attributes = ModelRecord:attribute_names(),
% setup mnesia tables
{atomic, ok} = mnesia:create_table(lists:nth(1, ?MODELS), [{attributes, Attributes}, {disc_copies, Node}])
end
end,
TablesToCreate),但是我在表创建的两个变体中都遇到了崩溃:
{aborted,{bad_type,my_model, {disc_copies,nonode@nohost}}}谢谢。
发布于 2013-06-11 21:22:00
mnesia:create_table上的node()参数应该在列表中:
{atomic, ok} = mnesia:create_table('_ids_', [{attributes, [type, id]}, {disc_copies, [node()]}]);https://stackoverflow.com/questions/17044375
复制相似问题