Pouziti promenne v config.neon
- haagen6000
- Člen | 2
Ahoj vsem,
pokousim se prekopat jednu starsi aplikaci psanou v nette (nepsal jsem ji, nette neznam a delam s nim poprve) tak, aby bezela v dockeru bez ruznych hacku (typu generovani konfigu z ENV promennych pri startu kontejneru atp.)
Snazim se do konfiguraku config.neon narvat ENV promenne, pricemz se mi to castecne povedlo pomoci tohoto modulu: https://github.com/…nette-dotenv
Nicmene jsem narazil na problem, kdy se v pripade, ze dosazuju @env::get promennou do DSN pri konfiguraci DB, promenna nevyhodnoti:
database: # database connection
dsn: 'pgsql:host=@env::get("POSTGRES_HOST");dbname=@env::get("POSTGRES_DATABASE")' //NOK
user: @env::get('POSTGRES_USER') //OK
password: @env::get('POSTGRES_PASSWORD') //OK
Nenapada vas nekoho spravne kombo uvozovek, escapu atd. tak, aby se vse korektne vyhodnotilo?
Predem moc diky!
- haagen6000
- Člen | 2
Diky moc! @DavidMatějka
Nakonec je to hezci, nez jsme cekal a neni k tomu potreba extra modul, za me +.
Kdyby na to v budoucnu nekdo narazil, tak do bootstrap.php (coz nevim, zda je standardni nette soubor, ale v te apce co resim, to tak je) stacilo pridat.
$configurator->addDynamicParameters([
'env' => getenv(),
]);
a nasledne v config.neon
database: # database connection
dsn: 'pgsql:host=%env.POSTGRES_HOST%;dbname=%env.POSTGRES_DATABASE%'
user: %env.POSTGRES_USER%
password: %env.POSTGRES_PASSWORD%