PDO Exception levée pour une requête
Bonjour,
J'ai une petite application en sf2/doctrine 2 que je veux déployer sur un serveur mutualisé "Hoster Papa".
Le problème est que j'ai une exception PDO qui est levée:
Code:
1 2 3
|
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'utili891_jc.Action' doesn't exist
500 Internal Server Error - PDOException |
Alors que l'accès à la base se fait via la cuisine interne de doctrine.
J'ai regardé le phpinfo() et les extension pdo sont bien présentes et que dans le fichier parametre.ini j'ai bien:
Code:
database_driver="pdo_mysql"
Pour info j'ai fais un test d'accès aux table via le traditionnel mysql_query et là je n'ai pas de problème.
Lorsque je le fais via pdo directement:
Code:
$dbh = new \PDO('mysql:host=localhost;dbname=xxxxx', 'zzzzzzzz', 'yyyyyyy');
cela marche aussi.
Auriez-vous une idée?
Problème de majuscule et minuscule
J'ai trouvé. J'ai développé l'application sous wamp et le serveur est sous LINUX.
Il me semble que LINUX est sensible à la casse.
PDO de Doctrine ne trouvait pas la table car il construit la requête sous la forme base.table et que table il le tire du nom de la classe entité. Hors j'avais mis Action et lors de la création des tables via la console cela a crée une table action. Comme pour lui Action != action il ne trouvait pas la table.
Soit je redéfini ma classe action et non pas Action mais je crois que cela ne fait pas parti des bonnes pratique, ou je change le nom des tables action en Action. Bizarrement la console devrait générer la table avec le bon camelcase.
Ai-je fais une erreur?