Ticket #69 (assigned Enhancement)

Opened 1 year ago

Last modified 1 year ago

pdo_mysql et champs par défaut

Reported by: Metal3D Assigned to: gcroes (accepted)
Priority: Major Milestone: 3.1.0
Component: DAO Version: 3.0.0
Keywords: Cc:

Description

Sur une table avec un champs "default 1", si on omet la valeur lors d'un insert une exception est levé et demande de donner une valeur.

Attachments

Change History

11/16/07 11:06:01 changed by Metal3D

  • milestone set to 3.0.1.

11/16/07 11:16:42 changed by gcroes

  • owner set to gcroes.

Il me faudrait le code exemple et le script de la table.

11/16/07 11:16:46 changed by gcroes

  • status changed from new to assigned.

11/16/07 12:13:16 changed by Metal3D

Je peux pas te donner cette table (propriété de mon entreprise) mais si tu crées une table:

CREATE table test_dao {
   id int auto_increment,
   name varchar(50) not null,
   test int default 1,
   PRIMARY KEY(id)
}

Ensuite tu fais:

$r = _record('test_dao');
$r->name="Test";
_dao('test_dao')->insert($r);

Alors tu as l'exception levée, stipulant que "test" doit avoir une valeur (null donné selon lui);

11/16/07 14:33:25 changed by gcroes

Merci (pour la table, oui, il me fallait juste un jeu de test pour que ce soit reproductible)

11/16/07 15:08:34 changed by gcroes

  • type changed from defect to enhancement.
  • component changed from Auth to DAO.
  • milestone changed from 3.0.1 to 3.1.0.

Cette fonctionnalité n'est pas supportée actuellement dans les DAO, ni dans les fichiers XML ni dans les DAO auto, quelles que soient les bases utilisées.

Pour reproduire le comportement, la seule solution consiste à utiliser une surcharge PHP du record et de lui assigner la valeur par défaut souhaitée dans le constructeur ou dans la déclaration de la propriété.

J'ai ainsi déplacé cette feature request en 3.1.0 (et au passage je l'ai mis dans la catégorie DAO)


Add/Change #69 (pdo_mysql et champs par défaut)