[Symfony] Doctrine : erreur avec tblname_format
Posté : 13 nov. 2009, 21:40
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 :
Et je lance la génération du schema :
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 :
Merci
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"
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
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