首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ChicagoBoss和mnesia创建表错误

ChicagoBoss和mnesia创建表错误
EN

Stack Overflow用户
提问于 2013-06-11 20:42:00
回答 1查看 246关注 0票数 0

我有ChicagoBoss应用程序,我想使用mnesia来存储注册用户的数据。

我在boss.config中设置了{db_adapter, mnesia}。现在,我尝试创建mnesia数据库和表。

代码语言:javascript
复制
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),

但是我在表创建的两个变体中都遇到了崩溃:

代码语言:javascript
复制
{aborted,{bad_type,my_model, {disc_copies,nonode@nohost}}}

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-11 21:22:00

mnesia:create_table上的node()参数应该在列表中:

代码语言:javascript
复制
{atomic, ok} = mnesia:create_table('_ids_', [{attributes, [type, id]}, {disc_copies, [node()]}]);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17044375

复制
相关文章

相似问题

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