| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/db/struct/db_model.erl')
| -rw-r--r-- | src/db/struct/db_model.erl | 19 | 
1 files changed, 13 insertions, 6 deletions
diff --git a/src/db/struct/db_model.erl b/src/db/struct/db_model.erl index e6ec721..2cd58d4 100644 --- a/src/db/struct/db_model.erl +++ b/src/db/struct/db_model.erl @@ -8,7 +8,6 @@  (     db_model,     { -      name :: atom(),        store_file :: string(),        neighbors :: list(node())     } @@ -24,7 +23,8 @@  -export  (     [ -      new/3, +      new/2, +      add_db/2,        start/1     ]  ). @@ -36,27 +36,34 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec new (atom(), string(), list(node())) -> type(). -new (DBName, StorageFile, Neighbors) -> +-spec new (string(), list(node())) -> type(). +new (StorageFile, Neighbors) ->     #db_model     { -      name = DBName,        store_file = StorageFile,        neighbors = Neighbors     }.  -spec start(type()) -> 'ok'.  start (Model) -> -   DBName = Model#db_model.name,     StorageFile = Model#db_model.store_file,     Neighbors = Model#db_model.neighbors,     ok = application:set_env(mnesia, dir, StorageFile), +     case mnesia:create_schema([node()|Neighbors]) of        {error, {Name, {already_exists, Name}}} -> ok;        ok -> ok     end, +     ok = mnesia:start(), + +   ok. + +-spec add_db (atom(), type()) -> 'ok'. +add_db (DBName, Model) -> +   Neighbors = Model#db_model.neighbors, +     mnesia:create_table     (        DBName,  | 


