Overview
Comment:Mettre les champs vides à NULL avant de créer l'index sinon ça risque de foirer (deux champs vides ne sont pas uniques)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 0e386a3a614b42a3510b31c884f207d401771682
User & Date: bohwaz on 2014-03-22 01:30:10
Other Links: manifest | tags
Context
2014-03-22
01:31
Import des membres depuis Galette check-in: 9afa585de0 user: bohwaz tags: trunk
01:30
Mettre les champs vides à NULL avant de créer l'index sinon ça risque de foirer (deux champs vides ne sont pas uniques) check-in: 0e386a3a61 user: bohwaz tags: trunk
2014-03-21
05:21
Doc sur les plugins check-in: 27d16b542b user: bohwaz tags: trunk
Changes

Modified src/include/class.champs_membres.php from [ffdaa633d7] to [582e8b71a5].

431
432
433
434
435
436
437






438
439
440
441
442
443
444
445
446
447
448
449
    	if ($enable_copy) {
    		$db->exec($copy);
    	}
    	
        $db->exec('DROP TABLE IF EXISTS membres;');
    	$db->exec('ALTER TABLE membres_tmp RENAME TO membres;');
        $db->exec('CREATE INDEX membres_id_categorie ON membres (id_categorie);'); // Index






        $db->exec('CREATE UNIQUE INDEX membres_identite ON membres ('.$config->get('champ_identite').');');
    	$db->exec('END;');
    	$db->exec('PRAGMA foreign_keys = ON;');

    	$config->set('champs_membres', $this);
    	$config->save();

    	return true;
    }
}

?>







>
>
>
>
>
>
|











431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
    	if ($enable_copy) {
    		$db->exec($copy);
    	}
    	
        $db->exec('DROP TABLE IF EXISTS membres;');
    	$db->exec('ALTER TABLE membres_tmp RENAME TO membres;');
        $db->exec('CREATE INDEX membres_id_categorie ON membres (id_categorie);'); // Index

        // Mettre les champs identifiant vides à NULL pour pouvoir créer un index unique
        $db->exec('UPDATE membres SET '.$config->get('champ_identifiant').' = NULL 
            WHERE '.$config->get('champ_identifiant').' = "";');

        // Création de l'index unique
        $db->exec('CREATE UNIQUE INDEX membres_identifiant ON membres ('.$config->get('champ_identifiant').');');
    	$db->exec('END;');
    	$db->exec('PRAGMA foreign_keys = ON;');

    	$config->set('champs_membres', $this);
    	$config->save();

    	return true;
    }
}

?>