Adatbázis konfiguráció
A Nette Database konfigurációs lehetőségeinek áttekintése.
Ha nem a teljes keretrendszert használja, csak ezt a könyvtárat, olvassa el, hogyan töltse be a konfigurációt.
Egy kapcsolat
Egy adatbázis-kapcsolat konfigurációja:
database:
	# DSN, az egyetlen kötelező kulcs
	dsn: "sqlite:%appDir%/Model/demo.db"
	user: ...
	password: ...
Létrehozza a Nette\Database\Connection és Nette\Database\Explorer szolgáltatásokat, amelyeket
általában autowiringgel adunk át, vagy hivatkozással a
nevükre.
További beállítások:
database:
	# megjelenítse az adatbázis panelt a Tracy Bar-ban?
	debugger: ...     # (bool) alapértelmezett true
	# megjelenítse az EXPLAIN lekérdezéseket a Tracy Bar-ban?
	explain: ...      # (bool) alapértelmezett true
	# engedélyezze az autowiringet ehhez a kapcsolathoz?
	autowired: ...    # (bool) alapértelmezett true az első kapcsolatnál
	# tábla konvenciók: discovered, static vagy osztálynév
	conventions: discovered  # (string) alapértelmezett 'discovered'
	options:
		# csak akkor csatlakozzon az adatbázishoz, amikor szükséges?
		lazy: ...     # (bool) alapértelmezett false
		# PHP adatbázis-illesztőprogram osztálya
		driverClass:  # (string)
		# csak MySQL: beállítja az sql_mode-ot
		sqlmode:      # (string)
		# csak MySQL: beállítja a SET NAMES-t
		charset:      # (string) alapértelmezett 'utf8mb4'
		# csak MySQL: a TINYINT(1)-et bool-ra konvertálja
		convertBoolean:  # (bool) alapértelmezett false
		# a dátum oszlopokat immutable objektumokként adja vissza (3.2.1 verziótól)
		newDateTime:  # (bool) alapértelmezett false
		# csak Oracle és SQLite: dátum tárolási formátuma
		formatDateTime: # (string) alapértelmezett 'U'
Az options kulcsban további opciókat adhat meg, amelyeket a PDO illesztőprogramok dokumentációjában talál, például:
database:
	options:
		PDO::MYSQL_ATTR_COMPRESS: true
Több kapcsolat
A konfigurációban több adatbázis-kapcsolatot is definiálhatunk, elnevezett szekciókra osztva:
database:
	main:
		dsn: 'mysql:host=127.0.0.1;dbname=test'
		user: root
		password: password
	another:
		dsn: 'sqlite::memory:'
Az autowiring csak az első szekcióból származó szolgáltatásoknál van bekapcsolva. Ezt meg lehet változtatni az
autowired: false vagy autowired: true segítségével.
DI Szolgáltatások
Ezek a szolgáltatások kerülnek hozzáadásra a DI konténerhez, ahol a ### a kapcsolat nevét jelöli:
| Név | Típus | Leírás | 
|---|---|---|
| database.###.connection | Nette\Database\Connection | adatbázis-kapcsolat | 
| database.###.explorer | Nette\Database\Explorer | Database Explorer | 
Ha csak egy kapcsolatot definiálunk, a szolgáltatások nevei database.default.connection és
database.default.explorer lesznek. Ha több kapcsolatot definiálunk, mint a fenti példában, a nevek megfelelnek a
szekcióknak, azaz database.main.connection, database.main.explorer, valamint
database.another.connection és database.another.explorer.
A nem autowire-olt szolgáltatásokat explicit módon, a nevükre való hivatkozással adjuk át:
services:
	- UserFacade(@database.another.connection)