Kdyby\Console a Doctrine – problém s updatem db

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
chikeet
Člen | 160
+
+1
-

Zdavím,
na projektu, kde mi Kdyby\Console (pro updatování db podle Doctrine modelu) fungovala bez problémů, dostávám teď na příkaz:

php www/index.php orm:{cokoliv}

výjimku:

Symfony\Component\Console\Exception\LogicException
An argument with name “command” already exists.

Samotný php www/index.php správně vypíše seznam dostupných příkazů, ale cokoliv jiného končí výše popsanou výjimkou – netuším, proč. Budu ráda za nakopnutí správným směrem.

(V composeru mám Kdyby\Doctrine 2.3.1, která má jako závislost Kdyby\Console ~2.3@dev.)

Ještě doplním, že problém se začal projevovat při updatování přes composer. Tipuju, že si někde s něčím nesedla nejnovější verze (Symfony\Console?).

Editoval chikeet (17. 12. 2015 21:34)

enumag
Člen | 2118
+
0
-

Nikdy jsem nezkoušel Kdyby/Console používat přes index.php, vždy zásadně přes console.php:

#!/usr/bin/env php
<?php

// Let bootstrap create Dependency Injection container.
$container = require __DIR__ . '/app/bootstrap.php';

// Run console application.
$container->getByType('Symfony\Component\Console\Application')->run();

Můžeš vyzkoušet jestli to dopadne stejně? Pozn. přijdeš tím o ty kdyby hacky které Filip psal aby bylo možné v commandech generovat odkazy – dnes již nejsou potřeba protože stačí LinkGenerator či LinkFactory.

leninzprahy
Člen | 150
+
0
-

Ahoj,hází mi to stejnou chybu.
A nezáleží na tom, jestli to spustím přes www/index.php, nebo přes console.php, jak naznačil @enumag

nette v2.3.8
kdyby/doctrine v2.3.1
kdyby/console v2.5.0
doctrine/orm v2.4.8
chikeet
Člen | 160
+
0
-

U mě úplně to samé, jako @leninzprahy – index.php i console.php stejně. Mám i stejnou verzi nette.

Tomáš Votruba
Moderator | 1114
+
0
-

Zkuste použít Symfony\Console 2.7, např. explicitně v composer.json.

enumag
Člen | 2118
+
0
-

Bohužel nevím čím by to mohlo být. Myslel jem že se vám třeba nainstalovala symfony/console 3.0 s nějakým BC breakem, ale kdyby/console verzi 3.0 nedovolí. Tak jsem zkusil aktualizovat knihovny u svého projektu ale i po aktualizaci mi konzole funguje normálně (symfony/console 2.8). Zkuste sem kdyžtak hodit co vygenerovala tracy.

Editoval enumag (17. 12. 2015 21:42)

chikeet
Člen | 160
+
0
-

Tomáš Votruba napsal(a):

Zkuste použít Symfony\Console 2.7, např. explicitně v composer.json.

Po downgrade na Symfony\Console 2.7 mi to končí na:

An option named „debug-mode“ already exists.

Verze 2.6 to samé. Tudy asi cesta nepovede :-(

Oli
Člen | 1215
+
0
-

Tohle me hazelo taky. Nejsem u pocitace a uz si nejsem jistej, ale zkus zakomentovat u doctrine debug: on. Kdyztak az budu u pocitace zkusim se podivat jak jsem to vyresil…

chikeet
Člen | 160
+
+1
-

Tak to vypadá, že na vině je bug v Kdyby\Console. Při použití verze 2.4.0 už to jede :-)

Díky @jakubdvorak a klukům z BePositive.

Oli
Člen | 1215
+
0
-

Aha, tak to možná byla ta věc, kterou jsem to opravil :-)

leninzprahy
Člen | 150
+
0
-

chikeet napsal(a):

Tak to vypadá, že na vině je bug v Kdyby\Console. Při použití verze 2.4.0 už to jede :-)

Díky @jakubdvorak a klukům z BePositive.

Update mi taky pomohl, díky :-)