В комментариях выше вы упомянули, что "у нас все хранимые функции поддерживают параметр apiVersion". А как выглядит сигнатура ваших хранимых процедур? Какой тип (типы) данных обычно принимается и возвращается из процедур? Возможно, могли бы привести листинг какой-то типовой, но не сильно секретной процедуры?
Спасибо за статью. Неожиданные поворот, как уже многие успели отметить. Появилось несколько вопросов, буду рад ответам. Заведу по саб-треду на каждый вопрос.
Я не был свидетелем этого решения, но думаю, что findOne() и findAll() были добавлены как вариация findByPk() с бОльшими возможностями, которые были недостаточно задокументированы.
Для вресии 2.1 есть issue, возможно findByPk() вернётся :)
Расскажу, как это было. PR с изменениями на пути к JSON – это более 90 комментов, дифф на 71 файл и овер 3800 строк кода. Там перемешалось много контекстов изменений: исправление одновременно несколько старых проблем, добавление нескольких новых возможностей, оптимизация API, реорганизация кода. Делить его на много мелких не получалось, так как все задачи в рамках этого PR – взаимосвязаны. Вычитать вдумчиво и целиком такой PR не деле оказалось отдельной сложной задачей, на которую не хватало концентрации ни у кого кроме SamDark, за что ему отдельное спасибо.
Я понимаю, что мы (в больше мере – я) косякнули, а этот коммент – лишь попытка оправдаться, но не судите строго. Лучше приходите на GitHub – там всегда не хватает рук и свежего взгляда :)
Список изменений, на которые нужно обратить внимание при обновлении описан в UPGRADE.md для 2.1. Перед релизом мы дополнительно структурируем этот список и напишем гайд по обновлению.
Добавлю, что в отличии от перехода 1.1 → 2.0, обновление 2.0 → 2.1 – это эволюционное, а не революционное изменение. Основные цели релиза:
отказ от поддержки устаревших версий PHP, которые мешают использованию новых возможностей в коде ядра и усложняют поддержку проекта в долгосрочной перспективе, включая вопросы безопасности.
вынос из ядра в отдельные пакеты опциональных составляющих вроде jQuery, DI.
архитектурные улучшения и изменение публичного API там, где это требуется для реализации новых возможностей.
Мы подготовим детальный гайд по обновлению приложения, чтобы процесс был однозначен и понятен.
В комментариях выше вы упомянули, что "у нас все хранимые функции поддерживают параметр apiVersion". А как выглядит сигнатура ваших хранимых процедур? Какой тип (типы) данных обычно принимается и возвращается из процедур? Возможно, могли бы привести листинг какой-то типовой, но не сильно секретной процедуры?
Спасибо за статью. Неожиданные поворот, как уже многие успели отметить. Появилось несколько вопросов, буду рад ответам. Заведу по саб-треду на каждый вопрос.
На боку написано PHP, но я не против PostgreSQL)
Первые два получены за доклады на конференциях :)
А мне Дедушка в коллекцию к слоникам добавил крутую подушку с вышивкой. Спасибо, Дедушка!
Рад, что тебе тебе понравился подарок, внучек :)
Надо бы :)
Уже выпущены патчи 2.0.15.1, 2.0.13.3, 2.0.12.2.
Я не был свидетелем этого решения, но думаю, что
findOne()
иfindAll()
были добавлены как вариацияfindByPk()
с бОльшими возможностями, которые были недостаточно задокументированы.Для вресии 2.1 есть issue, возможно
findByPk()
вернётся :)Да, тестировали версию 2.6, которая на Yii1. Сейчас в разработке версия 3.0, которая на Yii2.
Забавно, что в бенчмарк попал Craft CMS, сделанный на Yii2, но не попал сам Yii2 :)
Да, будет заменён
Расскажу, как это было. PR с изменениями на пути к JSON – это более 90 комментов, дифф на 71 файл и овер 3800 строк кода. Там перемешалось много контекстов изменений: исправление одновременно несколько старых проблем, добавление нескольких новых возможностей, оптимизация API, реорганизация кода. Делить его на много мелких не получалось, так как все задачи в рамках этого PR – взаимосвязаны. Вычитать вдумчиво и целиком такой PR не деле оказалось отдельной сложной задачей, на которую не хватало концентрации ни у кого кроме SamDark, за что ему отдельное спасибо.
Я понимаю, что мы (в больше мере – я) косякнули, а этот коммент – лишь попытка оправдаться, но не судите строго. Лучше приходите на GitHub – там всегда не хватает рук и свежего взгляда :)
Да, упустили это. Спасибо, что заметили. Добавлено в UPGRADE.md
Привычка писать документацию и код с учётом того, что мы ещё поддерживаем PHP 5.4 :)
Спасибо за уведомление, исправлено в коммите 1b3526d8 и войдёт в патч-релиз 2.0.14.1
Список изменений, на которые нужно обратить внимание при обновлении описан в UPGRADE.md для 2.1. Перед релизом мы дополнительно структурируем этот список и напишем гайд по обновлению.
Добавлю, что в отличии от перехода 1.1 → 2.0, обновление 2.0 → 2.1 – это эволюционное, а не революционное изменение. Основные цели релиза:
Мы подготовим детальный гайд по обновлению приложения, чтобы процесс был однозначен и понятен.
Нет, 2.0.14.0
У нас семвер сдвинут на одну позицию вправо, потому получается
2.<major>.<minor>.<patch>