1
resposta

[Dúvida] Doctrine funciona em servidor local, porém não em hospedagem

Olá estou com um problema bem chato que estou a dias tentando resolver... Estou elaborando um projeto/site utilizando composer usando os pacotes do symfony/orm-pack. No servidor de hospedagem eu consigo instalar e rodar o composer com os pacotes, só que porém quando vou tentar rodar o doctrine com os comandos php bin/doctrine ou o php bin/doctrine-migrations eu recebo a senguinte mensagem:

[Warning] The use of this script is discouraged. See https://www.doctrine-project.org/projects/doctrine-orm/en/current/reference/tools.html#doctrine-console for instructions on bootstrapping the console runner.

e os comandos não aparecem.

Abaixo a cli-config.php:

<?php
// config/cli-config.php

require __DIR__ . '/../vendor/autoload.php';

use MBA\Helper\EntityManagerCreator;
use Doctrine\ORM\Tools\Console\ConsoleRunner;

$entityManager = new EntityManagerCreator();
$em = $entityManager->getEntityManager();

return ConsoleRunner::createHelperSet($em);

abaixo o EntityManagerCreator.php

<?php
// app/helper/EntityManagerCreator.php

namespace MBA\Helper;

use Doctrine\ORM\ORMSetup;
use Doctrine\ORM\EntityManager;
use Doctrine\DBAL\DriverManager;
use Doctrine\ORM\EntityManagerInterface;

class EntityManagerCreator
{
    /** @return EntityManagerInterface **/
    public function getEntityManager(): EntityManagerInterface
    {

        $paths = [ __DIR__ . '/../app/model/entities'];
        $isDevMode = false;

        $connection = DriverManager::getConnection([
            'driver' => 'pdo_mysql',
            'dbname' => 'DB',  // Alterado antes de subir para o servidor. 
            'user' => 'USER', // Alterado antes de subir para o servidor. 
            'password' => 'PASSWD', // Alterado antes de subir para o servidor. 
            'host' => 'localhost',
        ]);

        $config = ORMSetup::createAttributeMetadataConfiguration($paths, $isDevMode);

        return EntityManager::create($connection, $config);
    }
}

Já tentei todo tipo de alteração com base na documentação porém eu não consigo rodar os comandos, nem lista-los, apenas só comandos do composer.

E em servidor local funciona perfeitamente, exatamente o mesmo projeto.

Se alguém puder me ajudar ficarei muito grato!!!

OBS: Desculpe por colocar essa duvida em um tópico errado! Só vi depois que salvei.

1 resposta

[Warning] The use of this script is discouraged. See https://www.doctrine-project.org/projects/doctrine-orm/en/current/reference/tools.html#doctrine-console for instructions on bootstrapping the console runner.

Nos novos cursos de Doctrine o motivo desse aviso é explicado e nós aprendemos a nos livrar dele. :-D

Mas mesmo com esse aviso, o comando deveria funcionar.