erreur propel:build-schema

16 views
Skip to first unread message

Romanops

unread,
Jun 16, 2011, 5:05:30 AM6/16/11
to symfony-fr-portail
Bonjour !

Je cherche à brancher mon application symfony (utilisée avec propel) à
une base de données HyperFile accessible via odbc.
J'ai des tests en php sans utilisé symfony pour l'accès à la base de
données via odbc - j'ai utilisé le driver pdo_odbc et la commande
odbc_connect($v_DNS,$v_Utilisateur,$v_Mdp); pour la connexion par
exemple. Tout fonctionne à merveille !

Maintenant que les tests sont fait, je voudrais développer mon
application complète sous symfony en utilisant propel (j'ai d'abord
fait des tests avec Doctrine, mais ça ne fonctionne pas du tout,
apparemment Doctrine ne supporte pas odbc :-( )

Mais voilà, une fois mon projet créé (via ligne de commande sous
cygdrive car je suis sur windows), je voudrais faire une
retroconception de la base de données existante (elle a été créé bien
avant que j'arrive dans l'entreprise, je n'ai pas possibilité de la
créer moi même car il y a une cinquantaine de tables, de plus, c'est
une base hyperfile pour une application client/serveur qui tourne
déjà).

Pour ce faire, j'utilise la commande "php symfony propel:build-schema"
mais il me sort l'erreur suivante :
>> propel Running "reverse" phing task
[propel-scema-reverse] There was an error building XML from metadata:
could not find driver

Some problems occured when executing the task:
If the exception message is not clear enough, read the output of the
task for more information

D'après ce que je comprends de l'erreur, Propel ne trouve pas le
driver seulement dans mon fichier php.ini, le driver pdo_odbc est bien
activé, de plus les tests fait sous php ont fonctionné comme sus-
mentionné.

Pour la configuration du fichier databases.yml & propel.ini, j'ai
utilisé la commande suivante :
php symfony configure:database "odbc:PROGIDOC_V5.5" admin
(ps: il n'y a pas de mot de passe pour l'accès à la config odbc pour
le moment)
Peut-être ai-je fait une erreur dans la config ???

Voici le fichier databases.yml généré :
dev:
propel:
param:
classname: DebugPDO
debug: { realmemoryusage: true, details: { time: { enabled:
true }, slow: { enabled: true, threshold: 0.1 }, mem: { enabled:
true }, mempeak: { enabled: true }, memdelta: { enabled: true } } }
test:
propel:
param:
classname: DebugPDO
all:
propel:
class: sfPropelDatabase
param:
classname: PropelPDO
dsn: 'obdc:PROGIDOC_V5.5'
username: admin
password: null
encoding: utf8
persistent: true
pooling: true


Et voici le fichier propel.ini généré :
propel.targetPackage = lib.model
propel.packageObjectModel = true
propel.project = progidoc
propel.database = obdc
propel.database.driver = obdc
propel.database.url = obdc:PROGIDOC_V5.5
propel.database.creole.url = ${propel.database.url}
propel.database.user = admin
propel.database.password =


; mysql options
propel.mysql.tableType = InnoDB

propel.addVendorInfo = true
propel.addGenericAccessors = true
propel.addGenericMutators = true
propel.addTimeStamp = true
propel.addValidators = false
propel.addIncludes = false

propel.useDateTimeClass = true
propel.defaultTimeStampFormat = Y-m-d H:i:s
propel.defaultTimeFormat = H:i:s
propel.defaultDateFormat = Y-m-d

propel.schema.validate = false
propel.samePhpName = false
propel.disableIdentifierQuoting = false
propel.emulateForeignKeyConstraints = true

; directories
propel.home = .
propel.output.dir = D:\php\progidoc
propel.schema.dir = ${propel.output.dir}/config
propel.conf.dir = ${propel.output.dir}/config
propel.phpconf.dir = ${propel.output.dir}/config
propel.sql.dir = ${propel.output.dir}/data/sql
propel.runtime.conf.file = runtime-conf.xml
propel.php.dir = ${propel.output.dir}
propel.default.schema.basename = schema
propel.datadump.mapper.from = *schema.xml
propel.datadump.mapper.to = *data.xml

propel.builder.addComments = true
propel.builder.addBehaviors = true

; behaviors
propel.behavior.default = symfony,symfony_i18n
propel.behavior.symfony.class =
plugins.sfPropelPlugin.lib.behavior.SfPropelBehaviorSymfony
propel.behavior.symfony_i18n.class =
plugins.sfPropelPlugin.lib.behavior.SfPropelBehaviorI18n
propel.behavior.symfony_i18n_translation.class =
plugins.sfPropelPlugin.lib.behavior.SfPropelBehaviorI18nTranslation
propel.behavior.symfony_behaviors.class =
plugins.sfPropelPlugin.lib.behavior.SfPropelBehaviorSymfonyBehaviors
propel.behavior.symfony_timestampable.class =
plugins.sfPropelPlugin.lib.behavior.SfPropelBehaviorTimestampable










Pouvez-vous m'aider ??

Merci d'avance !!
Reply all
Reply to author
Forward
0 new messages