Overview
Comment:Créer une sauvegarde avant mise à jour
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | dev
Files: files | file ages | folders
SHA1: d3c235bbd3f4b54fdc826dd1c0b297a2d5702426
User & Date: bohwaz on 2017-09-21 07:08:16
Other Links: branch diff | manifest | tags
Context
2017-09-21
07:28
Rapprochement: possibilité de ne pas lister les opérations déjà rapprochées (d'après un patch de @sebastien) check-in: cea3a6b0be user: bohwaz tags: dev
07:08
Créer une sauvegarde avant mise à jour check-in: d3c235bbd3 user: bohwaz tags: dev
01:55
Correction import CSV: ignorer le BOM UTF-8 au début du CSV (signalé par @Jean-jaques et @Nicolas) check-in: 06f494acb3 user: bohwaz tags: dev
Changes

Modified src/include/lib/Garradin/Sauvegarde.php from [5f30e3fbad] to [1bc750753b].

    43     43   	 * Crée une nouvelle sauvegarde
    44     44   	 * @param  boolean $auto Si true le nom de fichier sera celui de la sauvegarde automatique courante,
    45     45   	 * sinon le nom sera basé sur la date (sauvegarde manuelle)
    46     46   	 * @return string Le nom de fichier de la sauvegarde ainsi créée
    47     47   	 */
    48     48   	public function create($auto = false)
    49     49   	{
    50         -		$backup = str_replace('.sqlite', ($auto ? '.auto.1' : date('.Y-m-d-His')) . '.sqlite', DB_FILE);
           50  +		$suffix = is_string($auto) ? $auto : ($auto ? 'auto.1' : date('Y-m-d-His'));
           51  +
           52  +		$backup = str_replace('.sqlite', sprintf('.%s.sqlite', $suffix), DB_FILE);
    51     53   		
    52     54   		// Acquire a shared lock before copying
    53     55   		$db = DB::getInstance();
    54     56   		$db->exec('BEGIN IMMEDIATE TRANSACTION;');
    55     57   		
    56     58   		copy(DB_FILE, $backup);
    57     59   		

Modified src/www/admin/upgrade.php from [eb480a9207] to [624d408fe0].

    13     13   {
    14     14       throw new UserException("Pas de mise à jour à faire.");
    15     15   }
    16     16   
    17     17   $db = DB::getInstance();
    18     18   $redirect = true;
    19     19   
           20  +// Créer une sauvegarde automatique
           21  +(new Sauvegarde)->create('pre-upgrade-' . garradin_version());
           22  +
    20     23   echo '<!DOCTYPE html>
    21     24   <html>
    22     25   <head>
    23     26       <meta charset="utf-8" />
    24     27       <meta name="viewport" content="width=device-width, initial-scale=1.0, target-densitydpi=device-dpi" />
    25     28       <link rel="stylesheet" type="text/css" href="static/admin.css" media="all" />
    26     29       <script type="text/javascript" src="static/scripts/loader.js"></script>