[DBAL-178] Unknown column type requested Created: 02/Nov/11 Updated: 26/Jun/12 Resolved: 26/Jun/12
|Reporter:||Francois Mazerolle||Assignee:||Benjamin Eberlei|
OSX ( Using Symfony2 )
When I run doctrine:schema:create, doctrine throw the following exception:
( Note: their is 2 spaces between type and requested )
The problem with this error message is how much it's unspecific. Event with -v, I still have no clue about that type is wrong, and what file is concerned.
Also note that doctrine:mapping:info return all OK.
|Comment by Denny Swindle [ 21/Nov/11 ]|
Ironically, this same issue has recently started happening for me as well. It just started randomly over the weekend. Same exact issue (with 2 spaces between type and requested). For me, it happens when using Doctrine\ORM\EntityManager->find() on a valid entity.
#0 /doctrine-2.1.2/Doctrine/DBAL/DBALException.php(81): Doctrine\DBAL\DBALException::unknownColumnType()
|Comment by Gediminas Morkevicius [ 21/Jan/12 ]|
hi, seems like doctrine does not clean cache fully.
in my case I'm using APC cache
it should work fine now
doctrine:cache:clear-metadata Clears all metadata cache for a entity manager
|Comment by Francois Mazerolle [ 23/Jan/12 ]|
@gediminas : I don't have the error anymore so I can't test, but it's nice if there's a solution to fix it.
However, this error is problematic as it's anti-verbose.
I don't want to troll or anything, but as I'Ve started using doctrine2 with symfony2, the MAJOR problem I've encountered what bad error message that was leaving me lost. Often I had -v, find the file where the error occurred, look at the code, understand by myself what's wrong and attempt to fix it. This is counter-productive and really show that the exception message doesn't follow most error message guide line. For sure, we're not end-users, but we're "programmer-user" that use the system, and this "title" come with a knowledge that is not the same as we could expect of a core-developer, for example.
I hope this message was constructive.
|Comment by Benjamin Eberlei [ 26/Jun/12 ]|
Improved this error message alot and also changed some regarding reverse engineering of custom types (where this error often occured):
You can now implement Type#getMappedDatabaseTypes(AbstractPlatform $platform); on your custom type and return a list of database types that this doctrine type maps to.