Skip to content
Snippets Groups Projects
Select Git revision
  • ceff7b9b8226b13f5f5129c293433de24ee4cbb1
  • master default protected
  • main
  • update_github_actions
  • 144_rocky8_support
  • 195-update-pdk-to-300
  • 144-rocky8
  • add_test_github_test_workflow
  • pdk_2.4.0
  • fix_unclosed_let_block_in_defines_client_spec
  • validation_fixes
  • freeradius_3_0_21_config_updates
  • data_types
  • PrepareBuster
  • travis
  • 4.0.1
  • 4.0.0
  • 3.9.2
  • 3.9.1
  • 3.9.0
  • 3.8.2
  • 3.8.1
  • 3.8.0
  • 3.7.0
  • 3.6.0
  • 3.5.0
  • 3.4.3
  • 3.4.2
  • 3.4.1
  • 3.4.0
  • 3.3.0
  • 3.2.0
  • 3.1.0
  • 3.0.0
  • 2.3.1
35 results

init.pp

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;
        }