MOD Avancement sur la mise à jour de la BD pour la 1.1 et le système de mise à jour
[euphorik.git] / modules / erl / euphorik_bd.erl
index 4e47099..b11b4e6 100755 (executable)
@@ -29,8 +29,6 @@
    connect/0,
    connect/1,
    reset/0,
-   update/0,
-   restore/1,
    
    % users :
    nouveau_user/2,
@@ -50,7 +48,7 @@
    toggle_ek_master/1,
    css_from_user_cookie/1,
    
-   % messages :
+   % messages :e
    nouveau_message/3,
    nouveau_message_sys/1,
    nouveau_message_sys/2,
@@ -61,7 +59,8 @@
    messages_by_ids/1,
    message_existe/1,
    reponses/0,
-   repond_a/1,
+   parents/1,
+   enfants/1,
    est_une_reponse_a_user/2,
    a_repondu_a_message/2,
    possede_message/2,
@@ -84,9 +83,6 @@
    elire_troll/0,
    message_id_associe/1,
    
-   % versions :
-   update_version/1,
-   
    % utiles :
    resultat_transaction/1\r
 ]).
@@ -171,73 +167,6 @@ reset() ->
    end).
 
 
-% Met à jour la bd, compare ?VERSION_BD avec la version dans la table 'proprietes'
-% et exécute les patchs nécessaires.
-update() ->
-   mnesia:transaction(
-      fun() ->
-         case mnesia:read({proprietes, version}) of
-            [#proprietes{nom = Version}] ->
-               update(Version);
-            _ ->
-               erreur
-         end
-      end
-   ).
-   
-
-% Mise à jour de la BD.
-% attention : il est nécessaire de se trouver dans une transaction.
-update(?VERSION_BD) -> fini;
-update(Version) ->
-   case mnesia:backup(mnesia:system_info(directory) ++ "/backup" ++ integer_to_list(Version)) of
-      ok ->
-         case patch(Version) of
-            ok ->
-               mnesia:write(#proprietes{nom = version, valeur = Version + 1}),
-               update(Version + 1);
-            _ ->
-               erreur
-         end;
-      {error, Raison} -> {error, lists:flatten(io_lib:format("Erreur de création du backup de la version ~w : ~w", [Version, Raison]))}
-   end.
-   
-   
-% Applique une modification de la BD pour passer d'une version à la suivante.
-% crée un backup avant l'application du patch
-% dans BD/backups nommé "backup<num>" où <num> et le numéro de la version.
-% 1 -> 2
-patch(1) ->
-   % traitement des users   
-   mnesia:transform_table(
-      user,
-      fun({user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Nick_format, View_times, View_tooltips, Indice_flood, _Page_principale, Conversations, Ek_master, Last_ip}) ->
-            {user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Nick_format, View_times, View_tooltips, reverse, Indice_flood, lists:map(fun({C, _}) -> C end, Conversations), Ek_master, Last_ip}
-      end,
-      record_info(fields, user),
-      user
-   ),
-   mnesia:transform_table(
-      minichat,
-      fun({minichat, Id, Auteur_id, Date, Pseudo, Contenu, Troll_id}) ->
-            {minichat, Id, Auteur_id, Date, Pseudo, Contenu, Troll_id, Id}
-      end,
-      record_info(fields, minichat),
-      minichat
-   ),
-   % met à jour les racines des messages
-   TODO ! -> mnesia:foldl(...)
-   ok.
-% 2 -> 3
-%patch(2) ->
-
-
-% Reviens à une version précédente de la base de données
-% (les données insérées durant les versions plus récentes sont perdues)
-restore(N) ->
-   mnesia:restore(mnesia:system_info(directory) ++ "/backup" ++ integer_to_list(N)).
-
-
 % Ajoute un nouveau user et le renvoie
 nouveau_user(Pseudo, Cookie) ->
    F = fun() ->
@@ -640,27 +569,27 @@ reponses() ->
    
    
 % Renvoie les messages auquel M_id répond.
-repond_a(M_id) ->
+parents(M_id) ->
    resultat_transaction(mnesia:transaction(
       fun() ->
          e(q(
-            [M || E <- mnesia:table(reponse_minichat),
+            [M || R <- mnesia:table(reponse_minichat),
             M <- mnesia:table(minichat),
-            E#reponse_minichat.repondant =:= M_id,
-            M#minichat.id =:= E#reponse_minichat.cible]), [{tmpdir, ?KEY_SORT_TEMP_DIR}])
+            R#reponse_minichat.repondant =:= M_id,
+            M#minichat.id =:= R#reponse_minichat.cible]), [{tmpdir, ?KEY_SORT_TEMP_DIR}])
       end
    )).
    
    
 % Renvoie les message qui repondent à M_id
-reponses(M_id) ->
+enfants(M_id) ->
    resultat_transaction(mnesia:transaction(
       fun() ->
          e(q(
-            [M || E <- mnesia:table(reponse_minichat),
+            [M || R <- mnesia:table(reponse_minichat),
             M <- mnesia:table(minichat),
-            E#reponse_minichat.cible =:= M_id,
-            M#minichat.id =:= E#reponse_minichat.repondant]), [{tmpdir, ?KEY_SORT_TEMP_DIR}])
+            R#reponse_minichat.cible =:= M_id,
+            M#minichat.id =:= R#reponse_minichat.repondant]), [{tmpdir, ?KEY_SORT_TEMP_DIR}])
       end
    )).
    
@@ -956,16 +885,7 @@ message_id_associe(Troll_id) ->
          end
       end
    )).
-      
-   
-update_version(1) ->
-   mnesia:transform_table(
-      ip_table,
-      fun() -> null end,
-      record_info(fields, ip_table),
-      ip_table
-   ).
-   
+
    
 % Renvoie le résultat d'une transaction (en décomposant le tuple fournit)
 resultat_transaction({_, T}) ->