Size: a a a

2021 December 14

ND

Nikolay Deriglazov in symfony
Есть.
источник

AR

Andrey Rudenko in symfony
Буду очень благодарен если поделитесь! :)
И думаю не только я
источник

ND

Nikolay Deriglazov in symfony
Уже что-то загрузил на диск. Один видос надо еще порезать и залить. Думаю сегодня вечером обрадую)
источник

D🦆

Dmitry 🦆 in symfony
Привет, давно не работал с Симфони, плохо помню, как такая проблема решалась.

Создаем чистый проект, ставим туда symfony/orm-pack, удаляем DATABASE_URL из .env, запускаем какую-нибудь команду типа cache:warmup и получаем ошибку Environment variable not found: "DATABASE_URL"..

Прогревать кеш без наличия каких-то переменных окружений - ситуация нормальная, т.к. собирается приложение в том месте, которое ни о каких значениях не знает. Сами значения, естественно, в кеш не попадают и никак на этом этапе не используются.

Как максимально некостыльно решить проблему?
источник

AD

Andrey Dembitskyi in symfony
Server version in config
источник

MH

Michael Held in symfony
👍
источник

D🦆

Dmitry 🦆 in symfony
Спасибо, забыл про такую особенность. Попробуем
Думал причем про это, но не думал. что на cache:clear прямо будет ругаться
источник

D🦆

Dmitry 🦆 in symfony
doctrine:
   dbal:
       url: '%env(resolve:DATABASE_URL)%'
       driver: pdo_mysql
       server_version: '5.7'

Добавил 2 строки, не прокатило, ошибка осталась.
источник

AD

Andrey Dembitskyi in symfony
нужно всё таки добавить хоть что-то (вероятно пустышки хватит) в эту переменную.

Добавленный server version избавит от обращения к БД при прогреве и будет неважно, что находится в env
источник

Ш

Шурик in symfony
resolve?
источник

D🦆

Dmitry 🦆 in symfony
Да, это я понимаю, без указания версии оно в базу полезет, и пустышка не сработает.
Но как-то неаккуратно оставлять дефолтные значения с пустышками для значений подобного рода.
источник

D🦆

Dmitry 🦆 in symfony
Наличие/отсутсвие не влияет никак
источник

AD

Andrey Dembitskyi in symfony
Я в целом не понимаю, как задумывалось теми, кто продавливал то, чтобы все дефолты были в .env файлах по окружениям и уходили от дефолтов для env переменных по месту указания.

Мне ок с дефолтами рядом, даже если они будут актуальны больше для dev окружения
источник

AR

Andrey Rudenko in symfony
Может быть чем-то облегчит задачу, видосы порезанные легче всего качнуть тут https://live.symfony.com/account/replay/ а качнуть при помощи вот этого плагина https://chrome.google.com/webstore/detail/video-downloader-for-vime/cgmcdpfpkoildicgacgldinemhgmcbgp
источник

AD

Andrey Dembitskyi in symfony
ну и дополню - ты можешь пустышку добавить в месте прогрева кеша, а не глобально

вроде этого
export DATABASE_URL=''
bin/console cache:warmup -e prod
источник

D🦆

Dmitry 🦆 in symfony
Даже "export" не нужен.
дотенв файл, к слову, не подключается, т.к. прод енв. И либо его внешним способом пропихивать (через докер, к примеру), либо делать дефолтные значения с пустышками для всего
Я не понимаю дизайна этой системы (
источник

D🦆

Dmitry 🦆 in symfony
По хорошему значения должны были бы доставаться только в момент их использования.
источник

AD

Andrey Dembitskyi in symfony
эт для наглядности, когда переменных будет больше одной
источник

AD

Andrey Dembitskyi in symfony
оно примерно так и есть, насколько я помню.
Просто в момент поднятия команды много поднимается сервисов из DI, в том числе тот, что использует env
источник

AD

Andrey Dembitskyi in symfony
с некоторого момента symfony начали насаждать ".env повсюду" (с "оптимизированной версией" его в php)
источник