[Doctrine] No yml schema found in schema.yml

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Doctrine] No yml schema found in schema.yml

Re: [Doctrine] No yml schema found in schema.yml

par Cyrano » 14 sept. 2010, 17:41

Good, il te reste juste à cliquer sur le bouton [Résolu] ;)

Re: [Doctrine] No yml schema found in schema.yml

par ZeBrain » 14 sept. 2010, 17:32

Effectivement, on dirait que cette classe manquante a perturbé quelque chose.

J'ai enlevé mon hack de la fct buildSchema et ça tourne.

Ouf !

Re: [Doctrine] No yml schema found in schema.yml

par Cyrano » 14 sept. 2010, 17:27

(bon la classe PostListener je l'ai créer pour supprimer l'erreur)
Ok donc il manquait une classe : est-ce que ça a résolu le reste ?

Re: [Doctrine] No yml schema found in schema.yml

par ZeBrain » 14 sept. 2010, 17:22

(bon la classe PostListener je l'ai créer pour supprimer l'erreur)

Re: [Doctrine] No yml schema found in schema.yml

par ZeBrain » 14 sept. 2010, 17:15

Pas d'erreur 404 dans le fichier d'Apache. Par contre on dirait en effet que le fichier n'est pas trouvé. QUand je bricole la fonction buildSchema de la classe Doctrine_Import_Schema pour loader uniquement mon fichier j'obtient :

Code : Tout sélectionner

loadModels : Array ( [BaseGroup] => BaseGroup [BasePost] => BasePost [BaseProfil] => BaseProfil [BaseUser] => BaseUser [BaseUserHasGroup] => BaseUserHasGroup [Group] => Group [Post] => Post [Profil] => Profil [User] => User [UserHasGroup] => UserHasGroup ) getLoadedModels : Array ( [0] => Group [1] => Post [2] => Profil [3] => User [4] => UserHasGroup ) Fatal error: Class 'PostListener' not found in C:\Web\wamp\www\Doctrine\models\BaseDir\BasePost.php on line 84

Re: [Doctrine] No yml schema found in schema.yml

par Cyrano » 14 sept. 2010, 16:18

Mouais, ça répond pas tellement à ma question : tu devrais jeter un coup d'oeil dans les logs d'accès Apache pour vérifier s'il n'y aurais pas une erreur 404 sur l'accès à ce fichier précisément et du coup tu verras où il le cherche.

En fait je soupçonne qu'il ne cherche pas là où tu l'as indiqué pour une raison qui m'échappe mais je n'ai pas trop le temps de plonger dans les détails de ton code.

Re: [Doctrine] No yml schema found in schema.yml

par ZeBrain » 14 sept. 2010, 16:04

merci pour la réponse. je commençais à me sentir seul ^^.

voici mon code :

schema.yml est dans le répertoire 'models'

Code : Tout sélectionner

<?php require_once('Doctrine.php'); spl_autoload_register(array('Doctrine', 'autoload')); $sBDDname = 'doctrine_test'; $sBDDuser = 'root'; $sBDDpassword = ''; $oConn = Doctrine_Manager::connection( "mysql://$sBDDuser:$sBDDpassword@localhost/$sBDDname" ); $oDocManager = Doctrine_Manager::getInstance(); //activer le mode debug Doctrine_Core::debug( true ); $oConn->dropDatabase(); /* Voir toutes les options de generateModelsFromYaml */ $options = array( 'baseClassesDirectory' => 'BaseDir' ); //Le 2e argument, models, correpond à un dossier : votre_projet/models Doctrine_Core::generateModelsFromYaml( 'schema.yml', 'models', $options ); //On charge tout le modèle d'un coup $models = Doctrine_Core::loadModels('models', Doctrine_Core::MODEL_LOADING_AGGRESSIVE ); //debug, affichage du modèle chargé echo "<br/>loadModels : <br/><pre>"; print_r( $models ); echo "</pre>"; //idem, debug $models = Doctrine_Core::getLoadedModels(); echo "<br/>getLoadedModels : <br/><pre>"; print_r( $models ); echo "</pre>"; //finalement, on créé la BDD et les tables $oConn->createDatabase(); Doctrine_Core::createTablesFromModels('models'); ?>

Re: [Doctrine] No yml schema found in schema.yml

par Cyrano » 14 sept. 2010, 13:27

Es-tu bien certain que le code pointe vers le bon fichier ?

Re: [Doctrine] No yml schema found in schema.yml

par ZeBrain » 13 sept. 2010, 20:20

Voici mon YAML à titre d'info :

Code : Tout sélectionner

options: type: INNODB collate: utf8_unicode_ci charset: utf8 User: actAs: SoftDelete: Timestampable: created: name: account_birthday type: date format: Y-m-d updated: disabled: true columns: id: type: integer(4) primary: true autoincrement: true username: type: string(255) notnull : true password: type: string(255) notnull : true country: type: enum length: 2 values: ['EN', 'FR'] is_active: type: boolean default: false rate: type : float avatar: type: blob birthday: type: date relations: Groups: class: Group local: user_id foreign: group_id refClass: UserHasGroup Group: # Group est un mot réservé, on applique un setter sur le nom de la table tableName: group_table columns: id: type: integer(4) primary: true autoincrement: true name: type: string(255) relations: Users: class: User local: group_id foreign: user_id refClass: UserHasGroup UserHasGroup: columns: user_id: type: integer(4) primary: true group_id: type: integer(4) primary: true Profil: actAs: Timestampable: I18n: fields: [title,body] columns: id: type: integer(4) primary: true autoincrement: true title: type: string(255) body: type: clob user_id: type: integer(4) relations: User: local: user_id foreign: id foreignType: one Post: actAs: Timestampable: Sluggable: fields: [title] Searchable: fields: [title,body] listeners: [ PostListener ] columns: id: type: integer(4) primary: true autoincrement: true user_id: type: integer(4) lang: type: enum length: 2 values: ['EN', 'FR'] title: type: string(255) notnull : true body: type: string(4000) relations: User: foreignAlias: Posts

[Doctrine] No yml schema found in schema.yml

par ZeBrain » 12 sept. 2010, 19:16

Bonjour, je tente d'utiliser Doctrine (sans symfony pour commencer) sous Windows 7 avec Wamp server.

quand j'essai de générer un modèle d'après un fichier yaml j'btiens l'erreur "No yml schema found in schema.yml". Pourtant j'ai copié exactement les données d'un tutoriel (http://www.sylvainartois.fr.nf/fr/PHP/D ... _en_oeuvre).

J'ai bien activé php_pdo_mysql.