O Comando de migration está dando um erro e dizendo que está deprecisado http://prntscr.com/n398ri
como faço para atualizar ele?
O Comando de migration está dando um erro e dizendo que está deprecisado http://prntscr.com/n398ri
como faço para atualizar ele?
Fala, Bruno.
Qual a versão do seu composer
e qual o conteúdo do seu arquivo composer.json
?
Você editou algo mais no seu arquivo php.ini??
O que está depreciado é a diretiva track_errors
que provavelmente está habilitada no seu php.ini
.
Conteúdo do arquivo composer.json
{
"type": "project",
"license": "proprietary",
"require": {
"php": "^7.0.8",
"ext-ctype": "*",
"ext-iconv": "*",
"sensio/framework-extra-bundle": "^5.2",
"symfony/console": "3.4.*",
"symfony/dotenv": "3.4.*",
"symfony/flex": "^1.1",
"symfony/framework-bundle": "3.4.*",
"symfony/maker-bundle": "^1.11",
"symfony/orm-pack": "^1.0",
"symfony/yaml": "3.4.*"
},
"config": {
"preferred-install": {
"*": "dist"
},
"sort-packages": true
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
}
},
"replace": {
"paragonie/random_compat": "2.*",
"symfony/polyfill-ctype": "*",
"symfony/polyfill-iconv": "*",
"symfony/polyfill-php70": "*",
"symfony/polyfill-php56": "*"
},
"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd",
"assets:install %PUBLIC_DIR%": "symfony-cmd"
},
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
]
},
"conflict": {
"symfony/symfony": "*"
},
"extra": {
"symfony": {
"allow-contrib": false,
"require": "3.4.*"
}
}
}
Versão composer
Composer version 1.8.4 2019-02-11 10:52:10
Bruno, você parece estar utilizando a versão 3 do Symfony, e no treinamento nós utilizamos a versão 4. Sua estrutura de pastas do Symfony está igual à minha no treinamento?
Qual foi o comando que você utilizou para criar o projeto?
Tente alterar seu composer json, utilizando estas versões:
"sensio/framework-extra-bundle": "^5.2",
"symfony/console": "4.2.*",
"symfony/dotenv": "4.2.*",
"symfony/flex": "^1.1",
"symfony/framework-bundle": "4.2.*",
"symfony/maker-bundle": "^1.11",
"symfony/orm-pack": "^1.0",
"symfony/yaml": "4.2.*"
E lá no final:
"extra": {
"symfony": {
"allow-contrib": false,
"require": "4.2.*"
}
}
Depois de atualizar seu composer.json
, rode composer update
Rodei o comando que passou na aula, mas meu composer estava desatualizado, será que foi isso?
Rodei o composer update e foi normal agora
Ainda deu erro no make:migration http://prntscr.com/n3a90h
Bruno, acho que entendi o que houve.
A primeira migration foi criada com a versão antiga do framework, e agora que está atualizado, ele está tentando lê-la e acontece um erro.
Abre suas migrations e troca o caminho Doctrine\DBAL\Migrations\AbstractMigration
pra Doctrine\Migrations\AbstractMigration
Adiciona o : void
no fim do método up
. Pra indicar o tipo de retorno.
Mas pelo que to vendo, todos esses problemas estão sendo causados por ter iniciado o projeto com uma versão antiga mesmo. =/
Vê se agora isso corrige o problema.
Deu certo, gerou o arquivo, porém não criou a tabela http://prntscr.com/n3nsyl
Onde mas pode estar com problemas vc acha?
Bruno, esse comando só gera a migration. Agora é só seguir os passos da aula pra rodar (novamente) o comando que executa as migrations no banco (doctrine:migrations:migrate
)
E não esquece de remover a diretiva track_errors
do seu php.ini pra parar de gerar aquele warning ali. ;-)
E aí, Bruno?
Conseguiu dar continuidade?
Olá professor, tudo bem?
Agora deu certo sim! Eu não tinha me ligado do comando doctrine:migrations:migrate
agora ta certo.
E esse track_erros
coloquei como off já, mas ele serve para monitorar que tipo de erros? e no que ele ajuda?
Ele adicionava uma variável global $php_errormsg
que continha o último erro lançado pelo PHP, mas ela foi depreciada.
https://www.php.net/manual/pt_BR/errorfunc.configuration.php#ini.track-errors
Entendi!! Show valeu