Adatbázis konfigurálása

A Nette adatbázis konfigurációs lehetőségeinek áttekintése.

Ha nem a teljes keretrendszert, hanem csak ezt a könyvtárat használja, olvassa el , hogyan töltse be a konfigurációt.

Egyetlen kapcsolat

Egyetlen adatbázis-kapcsolat konfigurálása:

database:
	# DSN, csak kötelező kulcs
	dsn: "sqlite:%appDir%/Model/demo.db"
	user: ...
	password: ...

Nette\Database\Connection típusú szolgáltatásokat hoz létre, valamint Nette\Database\Explorer szolgáltatásokat az Adatbázis-kutató réteghez. Az adatbázis-kapcsolat átadása általában autowiringgel történik, ha ez nem lehetséges, használja a @database.default.connection illetve @database.default.explorer szolgáltatásneveket.

Egyéb beállítások:

database:
	# adatbázis panel jelenik meg a Tracy Barban?
	debugger: ...     # (bool) alapértelmezett értéke true

	# EXPLAIN lekérdezés megjelenítése a Tracy Bar?
	explain: ...      # (bool) alapértelmezés szerint true

	# engedélyezni az automatikus bekötést a kapcsolathoz?
	autowired: ...    # (bool) alapértelmezés szerint true az első kapcsolatnál

	# táblázat konvenciók: felfedezett, statikus vagy osztálynév
	conventions: discovered # (string) alapértelmezett értéke 'discovered'.

	options:
		# hogy csak akkor csatlakozzon az adatbázishoz, amikor szükséges?
		lazy: ...     # (bool) alapértelmezett értéke false

		# PHP adatbázis-illesztő osztály
		driverClass:  # (string)

		# csak MySQL: sql_mode beállítása
		sqlmode:      # (string)

		# csak MySQL: sets SET NAMES
		charset:      # (string) alapértelmezés szerint 'utf8mb4' ('utf8' a v5.5.3 előtt)

		# csak Oracle és SQLite: dátumformátum
		formatDateTime: # (string) alapértelmezett értéke 'U'

A options kulcs tartalmazhat más beállításokat is, amelyek a PDO-illesztőprogram dokumentációjában találhatók, például:

database:
	options:
		PDO::MYSQL_ATTR_COMPRESS: true

Többszörös kapcsolatok

A konfigurációban több adatbázis-kapcsolatot is definiálhatunk, ha azokat nevesített szakaszokra osztjuk:

database:
	main:
		dsn: 'mysql:host=127.0.0.1;dbname=test'
		user: root
		password: password

	another:
		dsn: 'sqlite::memory:'

Minden egyes definiált kapcsolat olyan szolgáltatásokat hoz létre, amelyek nevében szerepel a szakasz neve, azaz @database.main.connection & @database.main.explorer és tovább @database.another.connection & @database.another.explorer.

Az automatikus összekapcsolás csak az első szakasz szolgáltatásai esetében engedélyezett. Ez a autowired: false vagy a autowired: true segítségével módosítható. A nem automatikusan bekötött szolgáltatások név szerint kerülnek átadásra:

services:
	- UserFacade(@database.another.connection)
verzió: 4.0