X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_bd_admin.erl;h=843d830d0dbe20808beade99b0398a2ea8be24ef;hp=12c2d4d7a0ce9840048e91d62b18062007087e1d;hb=9aec6848a87dcccac15aea762cc6d5bb18ff731a;hpb=e0c2c2fa82cf13cd55b8d5006ad2c7e0689dc6cb diff --git a/modules/erl/euphorik_bd_admin.erl b/modules/erl/euphorik_bd_admin.erl index 12c2d4d..843d830 100644 --- a/modules/erl/euphorik_bd_admin.erl +++ b/modules/erl/euphorik_bd_admin.erl @@ -32,8 +32,9 @@ connect/1, reset/0, update/0, - backup/1, - restore/1, + + backup_text/1, + restore_text/1, toggle_ek_master/1, print_users/0, @@ -219,14 +220,14 @@ patch_1_traiter_message(M, Racine) -> ). % crée un backup dont le nom est fournit dans le repertoire backups qui se trouve dans le repertoire de la BD. -backup(Nom) -> - mnesia:backup(mnesia:system_info(directory) ++ "/backups/" ++ Nom). +%backup(Nom) -> +% mnesia:backup(mnesia:system_info(directory) ++ "/backups/" ++ Nom). % 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(fichier_backup(N), [{default_op, recreate_tables}]). +%restore(N) -> +% mnesia:restore(fichier_backup(N), [{default_op, recreate_tables}]). % Renvoie le fichier (avec le chemin) correspondant à la version Version, par exemple : "/var/euphorik/BD/backups/backup1" @@ -234,6 +235,20 @@ fichier_backup(Version) -> mnesia:system_info(directory) ++ "/backups/" ++ if is_integer(Version) -> "backup" ++ integer_to_list(Version); true -> Version end. +backup_text(_) -> todo. +restore_text(File) -> + mnesia:stop(), + mnesia:delete_schema([node()]), + mnesia:start(), + case mnesia:load_textfile(File) of + {atomic, ok} -> + update(), + creer_indexes(); + Erreur -> + Erreur + end. + + toggle_ek_master(User_id) -> euphorik_bd:resultat_transaction(mnesia:transaction( fun() ->