Jak nakonfigurovat Kdyby\Doctrine pro SQLite

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tomáš Procházka
Člen | 2
+
0
-

Ahoj,
potřeboval bych trochu pomoci s konfigurací rozšíření Kdyby\Doctrine pro použítí s SQLite

Moje momentálně nefunkční konfigurace:

parameters:


application:
	errorPresenter: Error
	mapping:
		*: App\*Module\Presenters\*Presenter


session:
	expiration: 14 days

extensions:
	restful: Drahak\Restful\DI\RestfulExtension
	console: Kdyby\Console\DI\ConsoleExtension
	events: Kdyby\Events\DI\EventsExtension
	annotations: Kdyby\Annotations\DI\AnnotationsExtension
	doctrine: Kdyby\Doctrine\DI\OrmExtension

services:
	- App\Model\UserManager
	- App\Forms\FormFactory
	- App\Forms\SignInFormFactory
	- App\Forms\SignUpFormFactory
	router: App\RouterFactory::createRouter

doctrine:
	dbal:
		driver: pdo_sqlite
		host: localhost
		port: null
		dbname: database.sqlite
		user: root
		password: null
		path: %appDir%/../database.sqlite
		charset: UTF8
		metadata:
			App: %appDir%

Hlášená chyba:
Service ‚101_App_Model_UserManager‘: Service of type Nette\Database\Context needed by App\Model\UserManager::__construct() not found. Did you register it in configuration file?

Editoval Tomáš Procházka (5. 9. 2016 21:43)

Landsman
Člen | 152
+
+1
-

V UserManager se zřejmě používá Nette Database. To asi není správně, ne?

hitzoR
Člen | 51
+
+1
-

Stačí si přečíst ten error a musí ti dojít, že s konfigurací Doctrine to nemá vůbec nic společného. Při přidání Doctrine si nejspíš vyhodil Nette Database, která je ale použitá v UserManageru, tudíž ta chyba (která imho je snad jedna z nejvíc pochopitelných chyb, na které člověk může narazit :D). Pokud ten UserManager nepoužíváš, tak ten řádek s ním v sekci services můžeš smazat. Pokud ho používáš, tak ho holt budeš muset přepsat tak, aby místo NDB použil Doctrinu.

Editoval hitzoR (5. 9. 2016 23:53)

Tomáš Procházka
Člen | 2
+
+1
-

Děkuji všem zúčastněným.
Asi jsem opravdu měl lépe číst. Stydím se!
Výše uvedené nastavení pro SQLite je plně funkční. (nikde jsem to na fóru nenašel)