X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_bd.erl;h=7703bd3dd61753058c88c82db0a51af0f2fc8e12;hb=21e31d4ff2078d18734c98b87a53869f4fa81828;hp=469e2422629cd6654e76d02357d56f613dc5d23d;hpb=ac8cb03ce2a0982fd386e639be1368c8fb59e94e;p=euphorik.git diff --git a/modules/erl/euphorik_bd.erl b/modules/erl/euphorik_bd.erl index 469e242..7703bd3 100755 --- a/modules/erl/euphorik_bd.erl +++ b/modules/erl/euphorik_bd.erl @@ -14,6 +14,7 @@ % Instructions pour créer une nouvelle base : % $erl -sname yaws -mnesia dir '"/projets/euphorik/BD"' +% voir doc/installation.txt % >l(euphorik_bd). % >euphorik_bd:create(). create() -> @@ -21,8 +22,8 @@ create() -> mnesia:delete_schema([node()]), mnesia:create_schema([node()]), % nécessaire pour les tables sur disc mnesia:start(), - create_tables(). - + create_tables(). + create_tables() -> mnesia:create_table(counter, [ @@ -44,6 +45,14 @@ create_tables() -> {attributes, record_info(fields, user)}, {index, [cookie, login]}, {disc_copies, [node()]} + ]), + mnesia:create_table(ip_table, [ + {attributes, record_info(fields, ip_table)}, + {disc_copies, [node()]} + ]), + mnesia:create_table(troll, [ + {attributes, record_info(fields, troll)}, + {disc_copies, [node()]} ]). @@ -73,8 +82,55 @@ vers_version(4) -> end, record_info(fields, user), user + ); +% Ajout du numéro de page de la conv principale +vers_version(5) -> + mnesia:transform_table( + user, + fun({user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Indice_flood, Conversations}) -> + {user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Indice_flood, 1, Conversations} + end, + record_info(fields, user), + user + ); +% Ajout le format d'affichage des pseudos +vers_version(6) -> + mnesia:transform_table( + user, + fun({user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Indice_flood, Page_Principale, Conversations}) -> + {user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, nick, Indice_flood, Page_Principale, Conversations} + end, + record_info(fields, user), + user + ); +% Ajout de la table 'ip_table' +% Ajout du statut 'ek_master' pour les users +vers_version(7) -> + mnesia:transform_table( + user, + fun({user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Nick_format, Indice_flood, Page_Principale, Conversations}) -> + {user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Nick_format, Indice_flood, Page_Principale, Conversations, false, undefined} + end, + record_info(fields, user), + user + ), + mnesia:create_table(ip_table, [ + {attributes, record_info(fields, ip_table)}, + {disc_copies, [node()]} + ]), + mnesia:create_table(troll, [ + {attributes, record_info(fields, troll)}, + {disc_copies, [node()]} + ]); +vers_version(8) -> + mnesia:transform_table( + ip_table, + fun() -> null end, + record_info(fields, ip_table), + ip_table ). - + + % exemple de peuplage de la BD, utilisé pour les tests peupler() -> @@ -84,5 +140,3 @@ peupler() -> mnesia:write({minichat, now(), "Paul", "Salut à toi !"}) end ). - -