Вышла система контроля версий yuniql 1.2.25 — миграция между базами данных стала удобнее
2026-02-21 10:04 Diff

Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.

yuniql — это система контроля версий баз данных и инструмент по миграции. yuniql не содержит runtime-зависимостей и использует чистые SQL-скрипты.

Команда разработчиков yuniql поработала над широким спектром задач — сделали новую функциональность, исправили серьёзные баги и рассмотрели проблемы, о которых сообщали пользователи. Вот некоторые из главных изменений.

Поддержка мультитенантности базы данных. Это позволит разработчикам использовать разные версии схем на разделённой базе данных, где объекты сегментированы по этим схемам. При этом команды смогут работать с отдельными схемами и развиваться независимо от других.

yuniql run -a --meta-schema dev01 --platform sqlserver yuniql run -a --meta-schema dev02 --platform sqlserver yuniql run -a --meta-schema dev03 --platform sqlserver yuniql run -a --meta-schema sales --platform sqlserver yuniql run -a --meta-schema inventory --platform sqlserver yuniql run -a --meta-schema manufacturing --platform sqlserver

Поддержка Oracle Enterprise и автономных баз данных. Релиз 1.2.25 добавляет поддержку Oracle. Тесты для платформы проводились на Oracle Enterprise 12C и на Docker-контейнерах, а также на Oracle Autonomous Database.

docker run --rm -dit --name oracle -p 1521:1521 store/oracle/database-enterprise:12.2.0.1-slim SETX YUNIQL_PLATFORM "oracle" SETX YUNIQL_CONNECTION_STRING "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCLCDB.localdomain)));User Id=sys;Password=Oradoc_db1;DBA Privilege=SYSDBA;" SETX YUNIQL_WORKSPACE "C:\temp\yuniql\samples\basic-oracle-sample" yuniql run --debug yuniql list --debug yuniql erase --force --debug

Быстрая проверка подключения через yuniql check. Это позволяет пинговать сервер базы данных, чтобы проверять его активность. Разработчики утверждают, что yuniql check поможет в диагностике миграционных ошибок.

yuniql check -c "Server=DESKTOP-ULR8GDO;Database=helloyuniql;Trusted_Connection=True;" -d --platform sqlserver INF 2022-02-21 23:23:11Z Verifying ping connectivity to server/cluster DESKTOP-ULR8GDO... INF 2022-02-21 23:23:11Z Ping connectivity to server/cluster DESKTOP-ULR8GDO - Successful INF 2022-02-21 23:23:11Z Verifying sql/odbc connectivity to master/catalog on DESKTOP-ULR8GDO... INF 2022-02-21 23:23:11Z Sql/odbc connectivity to master/catalog on DESKTOP-ULR8GDO - Successful INF 2022-02-21 23:23:11Z Verifying sql/odbc connectivity to database helloyuniql on DESKTOP-ULR8GDO... INF 2022-02-21 23:23:11Z Sql/odbc connectivity to database helloyuniql on DESKTOP-ULR8GDO - Successful

Возможность отбросить базу данных dev/test через yuniql destroy. Этот функционал поможет пользователем, когда yuniql erase бесполезен. Команда yuniql предупреждает, что не нужно пользоваться этим в продакшене.

docker run --rm -dit -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=P@ssw0rd!" -p 1400:1433 -d mcr.microsoft.com/mssql/server:2017-latest SETX YUNIQL_CONNECTION_STRING "Server=localhost,1400;Database=helloyuniql;User Id=SA;Password=P@ssw0rd!" SETX YUNIQL_WORKSPACE "C:\temp\yuniql\samples\basic-sqlserver-sample" SETX YUNIQL_PLATFORM "sqlserver" yuniql run -a --debug yuniql list --debug yuniql destroy --force --debug

Что ещё? Разработчики yuniql добавили новые фичи, пофиксили баги и провели рефакторинг кода. Подробнее прочитать обо всех изменениях можно в блоге yuniql.


Бесплатный курс по Python ➞
Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу