Size: a a a

2020 October 19

IS

Insolita Secret in Yii Framework 3
Тук-тук, все приветики. Такой вопросик по  postgres =драйверу для db. А чему мотивировано такое поведение alterColumn что если не задавать default и not null - то оно их дропает, получается просто тип нельзя сменить, оставив старые параметры. https://github.com/yiisoft/db-pgsql/blob/master/src/QueryBuilder.php#L328  
При прямых запросах так норм работает.   С default для некоторых кейсов оно конечно логично если например int хочешь на массив поменять... но тем не менее осознанно сохранить предыдущие параметры оно вообще не даёт возможности.
источник
2020 October 20

AM

Alexander Makarov in Yii Framework 3
Insolita Secret
Тук-тук, все приветики. Такой вопросик по  postgres =драйверу для db. А чему мотивировано такое поведение alterColumn что если не задавать default и not null - то оно их дропает, получается просто тип нельзя сменить, оставив старые параметры. https://github.com/yiisoft/db-pgsql/blob/master/src/QueryBuilder.php#L328  
При прямых запросах так норм работает.   С default для некоторых кейсов оно конечно логично если например int хочешь на массив поменять... но тем не менее осознанно сохранить предыдущие параметры оно вообще не даёт возможности.
Сделай issue, пожалуйста, если его нет. Это было так сделано в Yii 2. Там был issue на тему, но мы не сделали из за обратной совместимости.
источник

СП

Сергей Предводителев... in Yii Framework 3
В Yii2 в качестве некого аналога ServiceProvider из Yii3 можно использовать BootstrapInterface. Верно?
источник

AS

Alexey Samoylov in Yii Framework 3
разные ж вещи
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
В Yii2 в качестве некого аналога ServiceProvider из Yii3 можно использовать BootstrapInterface. Верно?
Нет, это сейчас сервис-провайдер выполняет в yii3 не свою функцию.
источник

СП

Сергей Предводителев... in Yii Framework 3
Я пытаюсь в Yii2 прикрутить EventDispatcher из Yii3.
Надо сконфижить провайдер. В BootstrapInterface это делать норм?
источник

SI

Sergei Iamskoi in Yii Framework 3
Да, норм. В Yii2 все контейнеры конфигурируются или в конфиге, или в бутстрапах
источник

СП

Сергей Предводителев... in Yii Framework 3
Спасибо
источник

AS

Alexey Samoylov in Yii Framework 3
Сергей Предводителев
Я пытаюсь в Yii2 прикрутить EventDispatcher из Yii3.
Надо сконфижить провайдер. В BootstrapInterface это делать норм?
не норм, лучше запихать его в контейнер прям в common/config/bootstrap.php
источник

СП

Сергей Предводителев... in Yii Framework 3
Alexey Samoylov
не норм, лучше запихать его в контейнер прям в common/config/bootstrap.php
Так это практически одно и тоже, только удобнее через класс...
источник

AS

Alexey Samoylov in Yii Framework 3
\Yii::$container уже доступен на этом этапе
источник

СП

Сергей Предводителев... in Yii Framework 3
Alexey Samoylov
\Yii::$container уже доступен на этом этапе
Я в конфиге вот так делаю:

'bootstrap' => [
 ...
 \App\Shared\Events\EventsProvider::class,
 ...
]
источник

AS

Alexey Samoylov in Yii Framework 3
Сергей Предводителев
Я в конфиге вот так делаю:

'bootstrap' => [
 ...
 \App\Shared\Events\EventsProvider::class,
 ...
]
нуу, некоторый смысл в этом есть, но есть сервисы. которые так инстанцировать не стоит
источник

СП

Сергей Предводителев... in Yii Framework 3
Alexey Samoylov
нуу, некоторый смысл в этом есть, но есть сервисы. которые так инстанцировать не стоит
Я такое делаю по анлогии с ServiceProvdier из Yii3 для конфигурации некоторых классов контейнера
источник

AS

Alexey Samoylov in Yii Framework 3
а если решение не универсально, то смысл дробить конфигурацию контейнера на два места
источник

СП

Сергей Предводителев... in Yii Framework 3
Alexey Samoylov
а если решение не универсально, то смысл дробить конфигурацию контейнера на два места
чтобы вот этот код вынести в отедльный файлик: https://github.com/yiisoft/yii-event/blob/master/src/EventDispatcherProvider.php
источник

AS

Alexey Samoylov in Yii Framework 3
весьма странный провайдер )
источник

AS

Alexey Samoylov in Yii Framework 3
неспроста в ларе есть разделение на register() и boot()
источник

AS

Alexey Samoylov in Yii Framework 3
как раз в том числе чтоб сторонние сабскрайберы могли воспользоваться уже сконфигурированным диспетчером на этапе бута
источник

СП

Сергей Предводителев... in Yii Framework 3
В yii3 вроде бы нет такого сейчас, чтобы после конфигурации контейнера что-то дополнительно выполнялось (как я понимаю в ларе это boot ).

Сконфижили контейнер и сразу в бой на обработку запросов.
источник