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)