% 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
+ case mnesia:backup(fichier_backup(Version)) of
ok ->
case patch(Version) of
ok ->
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}
+ {user, Id, Cookie, Pseudo, Login, Password, Email, Date_creation, Date_derniere_connexion, Css, Nick_format, View_times, View_tooltips, light, reverse, Indice_flood, lists:map(fun({R, _}) -> {R, false} end, Conversations), Ek_master, Last_ip}
end,
record_info(fields, user),
user
% 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)).
+ mnesia:restore(fichier_backup(N), []).
+
+% Renvoie le fichier (avec le chemin) correspondant à la version Version.
+fichier_backup(Version) ->
+ mnesia:system_info(directory) ++ "/backups/backup" ++ integer_to_list(Version).