Konfiguriranje podatkovne zbirke
Pregled možnosti konfiguracije za podatkovno zbirko Nette.
Če ne uporabljate celotnega ogrodja, temveč samo to knjižnico, preberite, kako naložiti konfiguracijo.
Posamezna povezava
Konfiguracija ene povezave s podatkovno bazo:
database:
# DSN, samo obvezni ključ
dsn: "sqlite:%appDir%/Model/demo.db"
user: ...
password: ...
Ustvari storitvi Nette\Database\Connection
in Nette\Database\Explorer
, ki ju običajno posredujemo
s samodejnim povezovanjem ali s sklicevanjem na njuno ime.
Druge nastavitve:
database:
# prikazuje ploščo podatkovne baze v vrstici Tracy Bar?
debugger: ... # (bool) privzeto je true
# prikaže poizvedbo EXPLAIN v Tracy Bar?
explain: ... # (bool) privzeto je true
# omogoči samodejno napeljavo za to povezavo?
autowired: ... # (bool) privzeto true za prvo povezavo
# konvencije za tabele: odkrito, statično ali ime razreda
conventions: discovered # (string) privzeto je 'discovered'
options:
# da se poveže s podatkovno bazo samo, ko je to potrebno?
lazy: ... # (bool) privzeto false
# Razred gonilnika podatkovne zbirke PHP
driverClass: # (niz)
# samo MySQL: nastavi sql_mode
sqlmode: # (niz)
# samo MySQL: nastavi SET NAMES
charset: # (niz) privzeta vrednost je 'utf8mb4'
# samo MySQL: pretvori TINYINT(1) v bool
convertBoolean: # (bool) privzeto false
# vrne stolpce datumov kot nespremenljive predmete (od različice 3.2.1)
newDateTime: # (bool) privzeto false
# samo Oracle in SQLite: format datuma
formatDateTime: # (niz) privzeta vrednost je 'U'
Ključ options
lahko vsebuje druge možnosti, ki jih najdete v dokumentaciji gonilnika PDO, na primer:
database:
options:
PDO::MYSQL_ATTR_COMPRESS: true
Več povezav
V konfiguraciji lahko opredelimo več povezav s podatkovno bazo, tako da jih razdelimo v poimenovane razdelke:
database:
main:
dsn: 'mysql:host=127.0.0.1;dbname=test'
user: root
password: password
another:
dsn: 'sqlite::memory:'
Samodejno ožičenje je omogočeno samo za storitve iz prvega oddelka. To lahko spremenite z uporabo
autowired: false
ali autowired: true
.
Storitve DI
Te storitve se dodajo v vsebnik DI, kjer ###
predstavlja ime povezave:
Ime | Vrsta | Opis |
---|---|---|
database.###.connection |
Nette\Database\Connection | povezava s podatkovno bazo |
database.###.explorer |
Nette\Database\Explorer | Database Explorer |
Če določimo samo eno povezavo, bosta imeni storitev database.default.connection
in
database.default.explorer
. Če določimo več povezav, kot v zgornjem primeru, bodo imena ustrezala razdelkom, tj.
database.main.connection
, database.main.explorer
in nato database.another.connection
in
database.another.explorer
.
Neavtentificirane storitve posredujemo izrecno s sklicevanjem na njihovo ime:
services:
- UserFacade(@database.another.connection)