Doctrine DBAL
  1. Doctrine DBAL
  2. DBAL-367

Reverse engnering do not work with Oracle DB

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.3
    • Fix Version/s: 2.5
    • Component/s: Drivers, Schema Managers
    • Environment:

      Description

      $ doctrine orm:convert-mapping --filter="ms$ions" xml .
      
        [Doctrine\DBAL\DBALException]
        Unknown database type binary_float requested, Doctrine\DBAL\Platforms\OraclePlatform may not support it.
      

      cli-config.php:

      
      use Doctrine\Common\Annotations\AnnotationReader;
      use Doctrine\Common\Annotations\AnnotationRegistry;
      
      require_once 'Doctrine/Common/ClassLoader.php';
      
      define('APPLICATION_ENV', "development");
      error_reporting(E_ALL);
      
      $classLoader = new \Doctrine\Common\ClassLoader('Doctrine');
      $classLoader->register();
      
      $config = new \Doctrine\ORM\Configuration();
      $config->setProxyDir(__DIR__);
      $config->setProxyNamespace('Proxies');
      
      $config->setAutoGenerateProxyClasses((APPLICATION_ENV == "development"));
      
      AnnotationRegistry::registerFile("Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php");
      $reader = new AnnotationReader();
      $driverImpl = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver($reader, array(__DIR__ . "/../php/ru/niifhm/bioinformatics/biodb/model"));
      $config->setMetadataDriverImpl($driverImpl);
      
      if (APPLICATION_ENV == "development") {
          $cache = new \Doctrine\Common\Cache\ArrayCache();
      } else {
          $cache = new \Doctrine\Common\Cache\ApcCache();
      }
      
      $config->setMetadataCacheImpl($cache);
      $config->setQueryCacheImpl($cache);
      
      $connectionOptions = array(
          'driver'   => 'oci8',
          'host'     => 'host.name',
          'dbname'   => 'db.name',
          'user'     => 'user.name',
          'password' => 'user.password'
      );
      
      $em = \Doctrine\ORM\EntityManager::create($connectionOptions, $config);
      $platform = $em->getConnection()->getDatabasePlatform();
      $platform->registerDoctrineTypeMapping('enum', 'string');
      
      $em->getConfiguration()->setMetadataDriverImpl(
          new \Doctrine\ORM\Mapping\Driver\DatabaseDriver(
              $em->getConnection()->getSchemaManager()
          )
      );
      
      $helperSet = new \Symfony\Component\Console\Helper\HelperSet(array(
          'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()),
          'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em)
      ));
      

        Activity

        Hide
        Marco Pivetta added a comment -

        Formatting

        Show
        Marco Pivetta added a comment - Formatting
        Hide
        Steve Müller added a comment -

        Should be fixed with following PR:

        https://github.com/doctrine/dbal/pull/405

        Show
        Steve Müller added a comment - Should be fixed with following PR: https://github.com/doctrine/dbal/pull/405
        Hide
        Doctrine Bot added a comment -

        A related Github Pull-Request [GH-405] was closed:
        https://github.com/doctrine/dbal/pull/405

        Show
        Doctrine Bot added a comment - A related Github Pull-Request [GH-405] was closed: https://github.com/doctrine/dbal/pull/405

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            Zelenin Alexandr
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: