Doctrine générer sql
Bonjour,
J'aurais besoin de l'aide de personnes qui connaissent Doctrine. J'ai, en effet, un problème lorsque je souhaite générer les tables à partir des models.
J'obtiens une erreur comme quoi, Doctrine ne trouve pas les les base des models. Par exemple pour pour une table Actualite,je génére Actualite.php, ActualiteTable.php et dans le dossier generated BaseActualite.php. Et c'est justement à partir de BaseActualite.php que la table sql est créé mais il ne la trouve pas.
Voici le code utilisé pour générer :
<?php
$cfg['dbhost'] = 'localhost';
$cfg['dblogin'] = 'login';
$cfg['dbmdp'] = 'pass';
$cfg['dbname'] = 'nom';
require_once('../Doctrine.php');
spl_autoload_register(array('Doctrine', 'autoload'));
$manager = Doctrine_Manager::getInstance();
$conn = Doctrine_Manager::connection('mysql://'.$cfg['dblogin'].':'.$cfg['dbmdp'].'@'.$cfg['dbhost'].'/'.$cfg['dbname'], 'connection site team');
$manager->setAttribute(Doctrine_Core::ATTR_AUTO_ACCESSOR_OVERRIDE, true);
Doctrine_Core::loadModels('models');
Doctrine_Core::dropDatabases();
Doctrine_Core::createDatabases();
Doctrine_Core::generateModelsFromYaml('schema.yml', 'models');
Doctrine_Core::createTablesFromModels('models');
?>
J'utilise Doctrine 1.2.1 et voici le schema.yml :
# config/doctrine/test.yml
CategoryType:
columns:
name: { type: string(45), notnull: true, unique: true }
Category:
columns:
cat_type_id: { type: integer, notnull: true }
name: { type: string(45), notnull: true, unique: true }
relations:
CategoryType: { local: cat_type_id, foreign: id, foreignAlias: Category }
User:
columns:
login: { type: string(45), notnull: true, unique: true }
email: { type: string(150), notnull: true, unique: true }
password: { type: string(45), notnull: true, unique: true }
salt: { type: string(33), notnull: true, unique: true }
date_register: { type: timestamp, notnull: true }
ip_register: { type: string(16), notnull: true }
last_login: { type: timestamp }
is_admin: { type: boolean, notnull: true, default: 0 }
UserInfo:
columns:
user_id: { type: integer, notnull: true }
name: { type: string(45) }
date_birth: { type: date }
avatar: { type: string(250) }
signature: { type: string(4000) }
relations:
User: { local: user_id, foreign: id, foreignAlias: UserInfo }
News:
actAs: { Timestampable: ~ }
columns:
user_id: { type: integer, notnull: true }
cat_id: { type: integer, notnull: true }
title: { type: string(45) }
body: { type: string(2147483647) }
is_published: { type: boolean, notnull: true, default: 1 }
relations:
User: { local: user_id, foreign: id, foreignAlias: News }
Category: { local: cat_id, foreign: id, foreignAlias: News }
Comment:
actAs: { Timestampable: ~ }
columns:
news_id: { type: integer, notnull: true }
login: { type: string(45), notnull: true }
body: { type: string(4000), notnull: true }
ip_post: { type: string(16), notnull: true }
relations:
News: { local: news_id, foreign: id, foreignAlias: Comment }
Voila, merci de votre aide.
Mimos@