X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_bd.erl;h=7703bd3dd61753058c88c82db0a51af0f2fc8e12;hb=21e31d4ff2078d18734c98b87a53869f4fa81828;hp=8eb90dfb03c2f85b3d711ff39b65fc233366b8f4;hpb=cded85bdaf899cef1ba38d2ee6fd24c67f2abc52;p=euphorik.git diff --git a/modules/erl/euphorik_bd.erl b/modules/erl/euphorik_bd.erl index 8eb90df..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,7 +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() -> @@ -83,5 +140,3 @@ peupler() -> mnesia:write({minichat, now(), "Paul", "Salut à toi !"}) end ). - -