Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Brak zmapowanych encji Doctrine ORM zgodnie z obecną konfiguracją

Okazuje się, że standardowa konfiguracja Doctrine [1] nie działa z moją bazą kodu, ani z jakąkolwiek bazą kodu, z którą testowałem, być może dokumentacja jest nieaktualna. Po godzinnym przedzieraniu się przez Interwebs, oto konfiguracja, dzięki której w końcu mi się udało:

use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
use Doctrine\Common\Annotations\AnnotationReader;

$paths = array( realpath(__DIR__."/../src/My/Entity") );
$isDevMode = TRUE;

// the connection configuration
$dbParams = array(
    'driver'   => 'pdo_mysql',
    'user'     => 'myuser',
    'password' => 's3cr3t',
    'dbname'   => 'mydb',
);

$cache = new \Doctrine\Common\Cache\ArrayCache();

$reader = new AnnotationReader();
$driver = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver($reader, $paths);

$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$config->setMetadataCacheImpl( $cache );
$config->setQueryCacheImpl( $cache );
$config->setMetadataDriverImpl( $driver );

$entityManager = EntityManager::create($dbParams, $config);

//-- This I had to add to support the Mysql enum type.
$platform = $entityManager->getConnection()->getDatabasePlatform();
$platform->registerDoctrineTypeMapping('enum', 'string');

[1] http://docs.doctrine-project. org/en/latest/tutorials/getting-started.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wydajność widoku MySQL

  2. Jak zbudować nieograniczony poziom menu za pomocą PHP i mysql

  3. mysql_real_escape_string jest niezdefiniowany

  4. Połącz się zdalnie z MySQL

  5. Transakcja MySQL z aplikacją księgową