⚡️ #yiisoftDb #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbOracle #yiisoftDbPgsql #yiisoftDbSqlite
В DB-пакетах упростили код для команды
- Yii DB (PR, PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
В DB-пакетах упростили код для команды
insertEx и перенесли соответствующий метод в абстрактный класс Command:- Yii DB (PR, PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
👍4🔥1
⚡️ #yiisoftDb #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbOracle #yiisoftDbPgsql #yiisoftDbSqlite
В тестировании DB-пакетов удалили трейт
- Yii DB (PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
В тестировании DB-пакетов удалили трейт
TestSchemaTrait и класс IsOneOfAssert, вместо них добавили абстрактные классы AbstractSchemaTest и AbstractSchemaProvider и отрефакторили тестирование схемы:- Yii DB (PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
👍4🔥1
⚡️ #yiisoftDb #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbOracle #yiisoftDbPgsql #yiisoftDbSqlite
В тестировании DB-пакетов заменили трейт
- Yii DB (PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
В тестировании DB-пакетов заменили трейт
TestQuoterTrait на новый абстрактный класс AbstractQuoterProvider и его реализации в каждом из пакетов:- Yii DB (PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
👍4🔥1
⚡️ #yiisoftDb #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbOracle #yiisoftDbPgsql #yiisoftDbSqlite
В DB-пакетах добавили тестов для индексов и ограничений:
- Yii DB (PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
В DB-пакетах добавили тестов для индексов и ограничений:
- Yii DB (PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
🔥6👍1
⚡️ #yiisoftDb #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbOracle #yiisoftDbPgsql #yiisoftDbSqlite
Перенесли всю оставшуюся функциональность из пространства имён
- Yii DB (PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
Перенесли всю оставшуюся функциональность из пространства имён
Yiisoft\Db\TestSupport в тесты:- Yii DB (PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
🔥5👍1
⚡️ #yiisoftDb #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbOracle #yiisoftDbPgsql #yiisoftDbSqlite
В DB-пакетах добавили тестов и исправили ошибку в Yii DB Oracle Extension, связанную с определением первичного ключа:
- Yii DB (PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
В DB-пакетах добавили тестов и исправили ошибку в Yii DB Oracle Extension, связанную с определением первичного ключа:
- Yii DB (PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
👍4🔥1
⚡️ #yiisoftDb #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbOracle #yiisoftDbPgsql #yiisoftDbSqlite
Доработали метод
- Yii DB (PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
Доработали метод
DMLQueryBuilder::upsert() в Yii DB PostgreSQL Extension и добавили соответствующие тесты в DB-пакеты:- Yii DB (PR),
- Yii DB MSSQL Server Extension (PR),
- Yii DB MySQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB PostgreSQL Extension (PR),
- Yii DB SQLite Extension (PR).
👍3🔥1
⚡️ #yiisoftDb #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbOracle #yiisoftDbPgsql #yiisoftDbSqlite
В DB-пакетах исправили проблемы с определением типов колонок при построении upsert-запросов и добавили интеграционный тест на исполнение полученных запросов:
- Yii DB (PR, PR),
- Yii DB MSSQL Server Extension (PR, PR),
- Yii DB MySQL Extension (PR, PR),
- Yii DB Oracle Extension (PR, PR),
- Yii DB PostgreSQL Extension (PR, PR, PR),
- Yii DB SQLite Extension (PR, PR, PR).
В DB-пакетах исправили проблемы с определением типов колонок при построении upsert-запросов и добавили интеграционный тест на исполнение полученных запросов:
- Yii DB (PR, PR),
- Yii DB MSSQL Server Extension (PR, PR),
- Yii DB MySQL Extension (PR, PR),
- Yii DB Oracle Extension (PR, PR),
- Yii DB PostgreSQL Extension (PR, PR, PR),
- Yii DB SQLite Extension (PR, PR, PR).
👍3🔥1
#yiisoftDb #yiisoftDbOracle #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbPgsql #yiisoftDbSqlite #ПервыйРелиз #МажорныйРелиз #Релиз
🎁 Yii DB 1.0
🎁 Yii DB Oracle Extension 1.0
🎁 Yii DB MSSQL Server Extension 1.0
🎁 Yii DB MySQL Extension 1.0
🎁 Yii DB PostgreSQL Extension 1.0
🎁 Yii DB SQLite Extension 1.0
Мы приготовили первый релиз Yii Database и его драйверов.
Пакет не зависит от фреймворка и может работать с разными типами баз данных:
MariaDB, MSSQL, MySQL, Oracle, PostgreSQL и SQLite.
При помощи пакета можно делать запросы на создание, чтение, обновление и удаление записей в базе, а также выполнять свои запросы.
Пакет сделан гибким. Можно будет добавить поддержку новых баз данных.
Как обычно, покрытие тестами, типами и статанализом близко к абсолютному как в главном пакете, так и в драйверах.
Отдельные поздравления для @terabytesoftw и @darkdef_pr, которые сделали невозможное портировав пакет из DBAL Yii2, переработав и улучшив его 👏
🎁 Yii DB 1.0
🎁 Yii DB Oracle Extension 1.0
🎁 Yii DB MSSQL Server Extension 1.0
🎁 Yii DB MySQL Extension 1.0
🎁 Yii DB PostgreSQL Extension 1.0
🎁 Yii DB SQLite Extension 1.0
Мы приготовили первый релиз Yii Database и его драйверов.
Пакет не зависит от фреймворка и может работать с разными типами баз данных:
MariaDB, MSSQL, MySQL, Oracle, PostgreSQL и SQLite.
При помощи пакета можно делать запросы на создание, чтение, обновление и удаление записей в базе, а также выполнять свои запросы.
$rows = (new Query($db))
->select(['id', 'email'])
->from('{{%user}}')
->where(['last_name' => 'Smith'])
->limit(10)
->all();Пакет сделан гибким. Можно будет добавить поддержку новых баз данных.
Как обычно, покрытие тестами, типами и статанализом близко к абсолютному как в главном пакете, так и в драйверах.
Отдельные поздравления для @terabytesoftw и @darkdef_pr, которые сделали невозможное портировав пакет из DBAL Yii2, переработав и улучшив его 👏
🔥33👍9❤2🍾2🎉1
#yiisoftDb #yiisoftDbPgsql #yiisoftDbMysql #yiisoftDbSqlite #yiisoftDbMssql #yiisoftDbOracle #МинорныйРелиз #Релиз
Минорные релизы Yii DB и адаптеров к основным СУБД с исправлением ошибок и несколькими улучшениями.
🎁 Yii Database 1.2
• Реализовано корректное экранирование имён общих табличных выражений (CTE).
• Выполнен рефакторинг классов
• Исправлены ошибки экранирования, выполняемого классом
- для SQL содержащего имена таблиц с префиксами;
- в случае, когда используются различные кавычки для имён таблиц и имён столбцов;
- в случае, когда используется подзапрос с алиасом.
• В методе
- исправлено приведение типа значения, если использовались строковые ключи в массиве значений
или имена колонок были указаны со скобками (например,
- исправлена ошибка, если порядок значений ассоциативного массива не совпадал с порядком колонок;
- изменён тип параметра
• Исправлена ошибка в методе
•
• Метод
• Тип
• Debug-классы адаптированы к последним изменениям в Yii Debug.
🎁 Yii DB PostgreSQL Driver 1.2
• Выполнен рефакторинг классов
• Исправлена конвертация для типов
• Исправлено получение имени автоинкремента колонки.
• Выполнен рефакторинг с адаптацией к изменениям в Yii DB 1.2.
🎁 Yii DB MySQL Driver 1.1
• Оптимизирован метод
• Выполнен рефакторинг с адаптацией к изменениям в Yii DB 1.2.
🎁 Yii DB SQLite Driver 1.1
• Добавлена поддержка типа
• Исправлены ошибки с внешними ключами:
- когда таблица имеет несколько внешних ключей;
- если для внешних ключей не указаны колонки соответствия (используются первичные ключи).
• Выполнен рефакторинг с адаптацией к изменениям в Yii DB 1.2.
🎁 Yii DB MSSQL Server Driver 1.1
• Исправлена ошибка для рекурсивных общих табличных выражений (CTE).
• Исправлен тип колонки
• Выполнен рефакторинг с адаптацией к изменениям в Yii DB 1.2.
🎁 Yii DB Oracle Driver 1.2
• Исправлена ошибка для рекурсивных общих табличных выражений (CTE).
• Улучшено определение типа колонки.
• Выполнен рефакторинг с адаптацией к изменениям в Yii DB 1.2.
Минорные релизы Yii DB и адаптеров к основным СУБД с исправлением ошибок и несколькими улучшениями.
🎁 Yii Database 1.2
• Реализовано корректное экранирование имён общих табличных выражений (CTE).
• Выполнен рефакторинг классов
Quoter и AbstractDMLQueryBuilder.• Исправлены ошибки экранирования, выполняемого классом
Quoter:- для SQL содержащего имена таблиц с префиксами;
- в случае, когда используются различные кавычки для имён таблиц и имён столбцов;
- в случае, когда используется подзапрос с алиасом.
• В методе
QueryBuilderInterface::batchInsert():- исправлено приведение типа значения, если использовались строковые ключи в массиве значений
или имена колонок были указаны со скобками (например,
{{%type}}.[[int_col]])- исправлена ошибка, если порядок значений ассоциативного массива не совпадал с порядком колонок;
- изменён тип параметра
$rows с iterable|Generator на iterable.• Исправлена ошибка в методе
QueryBuilderInterface::upsert(), возникающая в случае, если значение уникального столбца передано не первым значением.•
protected-методы Command::getQueryBuilder() и Command::internalExecute() из адаптеров к конкретным СУБД были перенесены в AbstractPdoCommand.• Метод
TableSchemaInterface::compositeForeignKey() помечен устаревшим.• Тип
SchemaInterface::JSONB помечен устаревшим, вместо него предлагается использовать тип SchemaInterface::JSON.• Debug-классы адаптированы к последним изменениям в Yii Debug.
🎁 Yii DB PostgreSQL Driver 1.2
• Выполнен рефакторинг классов
JsonExpressionBuilder, ArrayExpressionBuilder и ColumnSchema.• Исправлена конвертация для типов
bit и varbit из строки для передачи в БД.• Исправлено получение имени автоинкремента колонки.
• Выполнен рефакторинг с адаптацией к изменениям в Yii DB 1.2.
🎁 Yii DB MySQL Driver 1.1
• Оптимизирован метод
QueryBuilderInterface::insert() для пустых значений, когда вставляются значения по умолчанию.• Выполнен рефакторинг с адаптацией к изменениям в Yii DB 1.2.
🎁 Yii DB SQLite Driver 1.1
• Добавлена поддержка типа
json.• Исправлены ошибки с внешними ключами:
- когда таблица имеет несколько внешних ключей;
- если для внешних ключей не указаны колонки соответствия (используются первичные ключи).
• Выполнен рефакторинг с адаптацией к изменениям в Yii DB 1.2.
🎁 Yii DB MSSQL Server Driver 1.1
• Исправлена ошибка для рекурсивных общих табличных выражений (CTE).
• Исправлен тип колонки
boolean с типа БД tinyint на более подходящий тип bit.• Выполнен рефакторинг с адаптацией к изменениям в Yii DB 1.2.
🎁 Yii DB Oracle Driver 1.2
• Исправлена ошибка для рекурсивных общих табличных выражений (CTE).
• Улучшено определение типа колонки.
• Выполнен рефакторинг с адаптацией к изменениям в Yii DB 1.2.
🎉15👍2❤1
#yiisoftDb #yiisoftDbPgsql #yiisoftDbMysql #yiisoftDbSqlite #yiisoftDbMssql #yiisoftDbOracle #МинорныйРелиз #Релиз
Минорные релизы Yii DB и адаптеров к основным СУБД с исправлением ошибок и несколькими улучшениями.
🎁 Yii Database 1.3
• В контекст лога добавлен тип сообщения.
• Разрешено использование метода
• Добавлен метод
• Исправлено: метод
• Исправлена ошибка, возникающая в методе
• Исправлено приведение числа к строке в методе
• Исправлена ошибка при изменении префикса в
• Уточнены psalm-типы.
• Методы помечены устаревшими:
-
-
-
-
• Параметр
• Оптимизация производительности и рефакторинг.
Подробный список изменений тут.
🎁 Yii DB PostgreSQL Driver 1.3
• Добавлена поддержка составных (structured) типов.
• Добавлена поддержка ограничений (constraints) в представлениях (table view).
• Свойство
• Исправлено: в редких кейсах при чтении индекса в индекс попадали поля, которых там быть не должно.
• Оптимизация производительности и рефакторинг.
🎁 Yii DB MySQL Driver 1.2
• Свойство
• Исправлена ошибка при использовании метода
• Оптимизация производительности и рефакторинг.
🎁 Yii DB SQLite Driver 1.2
• Свойство
• Оптимизация производительности и рефакторинг.
🎁 Yii DB MSSQL Server Driver 1.2
• Свойство
• Исправлены ошибки в методах
• Оптимизация производительности и рефакторинг.
🎁 Yii DB Oracle Driver 1.3
• Разрешено использование метода
• Свойство
• Исправлена ошибка, возникающая при использовании
• Исправлена ошибка при использовании метода
• Исправлено: метод
• Оптимизация производительности и рефакторинг.
Минорные релизы Yii DB и адаптеров к основным СУБД с исправлением ошибок и несколькими улучшениями.
🎁 Yii Database 1.3
• В контекст лога добавлен тип сообщения.
• Разрешено использование метода
DMLQueryBuilderInterface::batchInsert() без указания колонок.• Добавлен метод
DbStringHelper::isReadQuery().• Исправлено: метод
Query::count() возвращал некорректное значение, если результат больше PHP_INT_MAX.• Исправлена ошибка, возникающая в методе
AbstractCommand::getRawSql(), если используется параметр со Stringable значением.• Исправлено приведение числа к строке в методе
AbstractCommand::getRawSql().• Исправлена ошибка при изменении префикса в
AbstractConnection.• Уточнены psalm-типы.
• Методы помечены устаревшими:
-
AbstractSchema::normalizeRowKeyCase()-
SchemaInterface::getRawTableName()-
Quoter::getRawTableName()-
SchemaInterface::isReadQuery()• Параметр
$rawSql в методе AbstractCommand::internalExecute() помечен устаревшим.• Оптимизация производительности и рефакторинг.
Подробный список изменений тут.
🎁 Yii DB PostgreSQL Driver 1.3
• Добавлена поддержка составных (structured) типов.
• Добавлена поддержка ограничений (constraints) в представлениях (table view).
• Свойство
Schema::$typeMap заменено на константу Schema::TYPE_MAP.• Исправлено: в редких кейсах при чтении индекса в индекс попадали поля, которых там быть не должно.
• Оптимизация производительности и рефакторинг.
🎁 Yii DB MySQL Driver 1.2
• Свойство
Schema::$typeMap заменено на константу Schema::TYPE_MAP.• Исправлена ошибка при использовании метода
Command::insertWithReturningPks() с пустыми значениями.• Оптимизация производительности и рефакторинг.
🎁 Yii DB SQLite Driver 1.2
• Свойство
Schema::$typeMap заменено на константу Schema::TYPE_MAP.• Оптимизация производительности и рефакторинг.
🎁 Yii DB MSSQL Server Driver 1.2
• Свойство
Schema::$typeMap заменено на константу Schema::TYPE_MAP.• Исправлены ошибки в методах
Command::insertWithReturningPks() и DMLQueryBuilder::insertWithReturningPks(), возникающие в редких кейсах.• Оптимизация производительности и рефакторинг.
🎁 Yii DB Oracle Driver 1.3
• Разрешено использование метода
DMLQueryBuilderInterface::batchInsert() без указания колонок.• Свойство
Schema::$typeMap заменено на константу Schema::TYPE_MAP.• Исправлена ошибка, возникающая при использовании
Query без указания FROM.• Исправлена ошибка при использовании метода
Command::insertWithReturningPks() с таблицей без первичного ключа.• Исправлено: метод
Schema::getTableSequenceName() теперь возвращает null вместо пустой строки.• Оптимизация производительности и рефакторинг.
👍5🔥2👾1