Skip to content
Snippets Groups Projects
Select Git revision
  • 612366972d72324ca44c13b006e3d59a5f648eb0
  • master default protected
  • php84
  • ll-api-test
  • 6.x
  • release_6.2.0
  • modif_maintenance_phtml
  • 6.0.x
  • detached2
  • detached
  • php82
  • feature_SearchAndSelectFilter
  • 5.x
  • 4.x
  • 7.2.1
  • 7.2.0
  • 6.2.0
  • 7.1.0
  • 7.0.0
  • 1.1.1
  • 6.1.7
  • 6.1.6
  • 6.1.5
  • 6.0.16
  • 6.0.15
  • 6.1.4
  • 6.0.14
  • 6.1.3
  • 6.0.13
  • 6.1.2
  • 6.0.12
  • 6.1.1
  • 6.1.0
  • 6.0.11
34 results

doctrine-module-em.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    doctrine-module-em.php 2.57 KiB
    <?php
    /*
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * This software consists of voluntary contributions made by many individuals
     * and is licensed under the MIT license. For more information, see
     * <http://www.doctrine-project.org>.
     */
    
    use Zend\ServiceManager\ServiceManager;
    use Zend\Mvc\Application;
    
    ini_set('display_errors', true);
    chdir(__DIR__);
    
    $previousDir = '.';
    
    while (!file_exists('config/application.config.php')) {
        $dir = dirname(getcwd());
    
        if ($previousDir === $dir) {
            throw new RuntimeException(
                'Unable to locate "config/application.config.php": ' .
                'is DoctrineModule in a subdir of your application skeleton?'
            );
        }
    
        $previousDir = $dir;
        chdir($dir);
    }
    
    if (!(@include_once __DIR__ . '/../vendor/autoload.php') && !(@include_once __DIR__ . '/../../../autoload.php')) {
        throw new RuntimeException('Error: vendor/autoload.php could not be found. Did you run php composer.phar install?');
    }
    
    $application = Application::init(include 'config/application.config.php');
    
    /* @var $cli \Symfony\Component\Console\Application */
    $cli = $application->getServiceManager()->get('doctrine.cli');
    
    /**
     * Ajout par rapport à 'doctrine/doctrine-module/bin/doctrine-module.php' original.
     * 
     * Le nom de l'entity manager à utiliser doit être spécifié dans le shell avant l'appel à la commande
     * Doctrine, exemple en bash :
     *      $ export em="orm_radius"
     *      $ vendor/bin/doctrine-module-em dbal:run-sql "select count(*) from radacct"
     */
    $em = $application->getServiceManager()->get('doctrine.entitymanager.' . getenv('em'));
    $helperSet = $cli->getHelperSet();
    $helperSet->set(new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()), 'db');
    $helperSet->set(new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em), 'em');
    /**
     * Fin de l'ajout.
     */
    
    $cli->run();