Page 1 sur 1

[Symfony] Doctrine : erreur avec tblname_format

Posté : 13 nov. 2009, 21:40
par ouckileou
Bonjour,

je commence un petit projet symfony. Je voulais préfixer mes tables pour éviter tout conflit futur, mais j'aimerais bien ne pas retrouver ce préfixe dans les objets générés. Par exemple, avoir la table prefix_truc, mais avoir les classes Truc.php, BaseTruc.php et TrucTable.php.

Donc je tombe sur l'attribut "tblname_format" et je l'insère dans mon databases.yml pour essayer :

Code : Tout sélectionner

all: doctrine: class: sfDoctrineDatabase param: dsn: mysql:host=localhost;dbname=maBase username: root password: attributes: tblname_format: "prefix_%s"
Et je lance la génération du schema :

Code : Tout sélectionner

[F042127@F042127:/cygdrive/c/wamp2/projets/alphacrf/alphacrf] $ sf doctrine:build-schema >> doctrine generating yaml schema from database Warning: constant(): Couldn't find constant Doctrine_Core::TBLNAME_FORMAT_PREFIX_%S in C:\wamp2\projets\alphacrf\alphacrf\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\database\sfDoctrineDatabase.class.php on line 86 >> doctrine Generate YAML schema successfully from database
Y'a pas des masses de documentation sur cet attribut, j'ai essayé sans les guillemets, un peu tout, ça ne fonctionne pas. Je pointe sur symfony 1.3 beta, et donc Doctrine 1.2.0-BETA2 si j'en crois ce qui est marqué dans Core.php

Même "%s" tout seul ne fonctionne pas, c'est pourtant la configuration par défaut d'après cette page : http://www.symfony-project.org/referenc ... -Databases

Quelqu'un pourrait-il corriger mon erreur ou alors m'indiquer le comportement de cet attribut dans une autre version ? Problème de symfony ou problème de Doctrine ?

Symfony on dirait puisque l'erreur est ici :
$value = constant('Doctrine_Core::'.strtoupper($stringName).'_'.strtoupper($value));
$stringName est le nom de l'attribut, et $value sa valeur. Pourquoi cette concaténation puisque la valeur peut changer ? ça fonctionne avec "validate: all" puisque la constante VALIDATE_ALL existe, mais comment doit-on utiliser le préfixe ?

Merci

Re: Symfony : Doctrine : erreur avec tblname_format

Posté : 13 nov. 2009, 21:51
par ouckileou
Ah, il y a un bug de saisi sur ce problème de constante créée bizarrement : http://trac.symfony-project.org/ticket/7119