Skip to content
Snippets Groups Projects
Select Git revision
  • a8c7f080ee4d5debb9b110fadda0a6a4356e42ab
  • master default protected
  • 5.x
  • 7
  • 6.0.question
  • bg-php8
  • release_3.1.0
  • release_4.0.0
  • zf-3.0
  • zf-3.x
  • 6.0.6
  • 5.0.8
  • 5.0.7
  • 6.0.5
  • 5.0.6
  • 6.0.4
  • 5.0.5
  • 7.0.3
  • 7.0.2
  • 6.0.3
  • 6.0.2
  • 6.0.1
  • 5.0.4
  • 7.0.1
  • 5.0.3
  • 5.0.2
  • 5.0.1
  • 7.0.0
  • 6.0.0
  • 4.0.2
30 results

autoload_classmap.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    DdlGen.php 9.43 KiB
    <?php
    
    namespace GenDbStructure;
    
    use Doctrine\ORM\EntityManager;
    use UnicaenApp\Service\EntityManagerAwareTrait;
    
    class DdlGen
    {
        const SEQUENCES       = 'Séquences';
        const TABLES          = 'Tables';
        const PACKAGES        = 'Packages';
        const VIEWS           = 'Vues';
        const MVIEWS          = 'Vues matérialisées';
        const PACKAGES_BODIES = 'Packages Bodies';
        const CONSTRAINTS     = 'Clés étrangères';
        const INDEXES         = 'Indexs';
        const TRIGGERS        = 'Triggers';
        const JOBS            = 'Jobs';
    
        use EntityManagerAwareTrait;
    
        /**
         * @var array
         */
        private $ddlQueries = [];
    
        /**
         * @var array
         */
        private $ddl    = [];
    
        private $tables = [];
    
    
    
        public function __construct(EntityManager $em)
        {
            $this->setEntityManager($em);
        }
    
    
    
        protected function init()
        {
            $sql = "
            BEGIN
                DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'EMIT_SCHEMA',        false);
                DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'SQLTERMINATOR',      true );
                DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'PRETTY',             true );
                DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'SEGMENT_ATTRIBUTES', false);
                DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'REF_CONSTRAINTS',    false);
                DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'STORAGE',            false);
            END;";
    
            $this->getEntityManager()->getConnection()->executeQuery($sql);
    
            return $this;
        }
    
    
    
        private function getDdlQueries()
        {
            if (empty($this->ddlQueries)) {
                $this->makeDdlQueries();
            }
    
            return $this->ddlQueries;
        }