X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_bd.erl;h=187d6eaea9c722223ddb47f48d5b8c7e001747c5;hp=56b7d7fc43fae2a2c45e13fa0ed5fbc140e5af80;hb=64ef87442b933d47f4dbc9dfec9a5a16e522c375;hpb=e56ca5b899d3b39c76a9056077729c04c695666b diff --git a/modules/erl/euphorik_bd.erl b/modules/erl/euphorik_bd.erl index 56b7d7f..187d6ea 100755 --- a/modules/erl/euphorik_bd.erl +++ b/modules/erl/euphorik_bd.erl @@ -29,6 +29,7 @@ connect/0, connect/1, reset/0, + update/0, % users : nouveau_user/2, @@ -167,6 +168,37 @@ 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) -> + patch(Version), + update(Version + 1). + + +% Applique une modification de la BD pour passer d'une version à la suivante. +% 1 -> 2 +patch(1) -> + ok. +% 2 -> 3 +%patch(2) -> + + % Ajoute un nouveau user et le renvoie nouveau_user(Pseudo, Cookie) -> F = fun() ->