% Module de création de la base de données euphorik.
-% Auteur : G.Burri
-% Date : 14.10.2007
+% @author G.Burri
-module(euphorik_bd).\r
--export([create/0, create_tables/0, vers_version2/0, vers_version3/0, peupler/0, tester/0]).\r
+-export([\r
+ create/0,\r
+ create_tables/0,\r
+ vers_version/1,\r
+ peupler/0\r
+ ]).\r
\r
-include("../include/euphorik_bd.hrl").\r
-\r
+
+% 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().\r
create() ->\r
mnesia:stop(),\r
mnesia:delete_schema([node()]),\r
mnesia:create_schema([node()]), % nécessaire pour les tables sur disc\r
mnesia:start(),\r
- create_tables().\r
-\r
+ create_tables().
+ \r
create_tables() ->\r
mnesia:create_table(counter, [\r
{attributes, record_info(fields, counter)},\r
- {disc_copies, [yaws@overnux]}\r
+ {disc_copies, [node()]}\r
]),\r
mnesia:create_table(minichat, [
{attributes, record_info(fields, minichat)},
{index, [auteur_id]},
- {disc_copies, [yaws@overnux]}
+ {disc_copies, [node()]}
]),\r
mnesia:create_table(reponse_minichat, [\r
{type, bag},\r
{attributes, record_info(fields, reponse_minichat)},\r
{index, [cible]},\r
- {disc_copies, [yaws@overnux]}\r
+ {disc_copies, [node()]}\r
]),\r
mnesia:create_table(user, [\r
{attributes, record_info(fields, user)},
{index, [cookie, login]},\r
- {disc_copies, [yaws@overnux]}\r
+ {disc_copies, [node()]}\r
]).
-vers_version2() ->
+vers_version(2) ->
mnesia:transform_table(
user,
fun({user, Id, Cookie, Pseudo, Date_creation, Date_derniere_connexion, Css}) ->
end,
record_info(fields, user),
user
- ).
-
-vers_version3() ->
+ );
+vers_version(3) ->
mnesia:transform_table(
user,
fun({user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css}) ->
end,
record_info(fields, user),
user
- ).
-
+ );
+vers_version(4) ->
+ mnesia:transform_table(
+ user,
+ fun({user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Indice_flood}) ->
+ {user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Indice_flood, []}
+ 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
+ ).
+
% exemple de peuplage de la BD, utilisé pour les tests
peupler() ->
mnesia:write({minichat, now(), "Paul", "Salut à toi !"})
end
).
-
-\r
-tester() ->\r
- ok.
-