История изменений DBGate
Версия 3.2 от 05.05.2025
Улучшения:
- Добавлен файл Dockerfile и командные файлы для управления образами и контейнерами Docker.
- При запуске из контейнера теперь прослушиваются все IP-адреса.
Версия 3.1 от 30.04.2025
Изменения в лицензировании:
- DBGate теперь распространяется по модели двойного лицензирования:
- Редакция Free доступна по лицензии MIT.
- Редакция Enterprise - по обновлённому лицензионному соглашению конечного пользователя (EULA).
- Редакция Free поддерживает до пяти подключений пользователей к одной базе данных.
Важные изменения:
- Локальный CHM-файл справки заменён на онлайн-документацию.
- Прекращена поддержка баз данных DB2, NuoDB и SQL Server Compact.
Улучшения:
- Обновлены примеры приложений на 2025 год.
- Обновлены провайдеры данных SqlClient, MySqlConnector, Npgsql и SQLite.
- Если поле или параметр содержит закодированные символы, такие как
_x0020_, автоматически добавляется значение display_name с декодированным именем.
Исправленные ошибки:
- DBGate использует двойные кавычки для значений параметров в некоторых SQL-запросах вместо одинарных.
- Исправлено неправильное декодирование имен, содержащих закодированные символы XML, такие как
_x0020_.
Версия 3.0 от 07.05.2024
Важные изменения:
- Теперь требуется ASP.NET Core 8.0.
- Microsoft Internet Explorer больше не поддерживается.
- DBGate 3.0 не включает поставщики данных для Oracle Database и SQLite (их можно установить отдельно).
- Ключ
EditRootsстал секцией и включает корневые сегменты и соответствующие страницы. СекцияEditPagesудалена. - Для работы клиента JavaScript требуется поддержка модулей JavaScript.
- Установочные пакеты DBGate теперь содержат новые настройки приложения и файлы каталога wwwroot. Мы исключили примеры для упрощения начальной настройки.
Новые возможности:
- Новый мастер
setup.exeпозволяет настраивать веб-сайты и приложения IIS, сервисы Windows и SSL-сертификаты в Windows. - DBGate включает новый пакет установщика для Windows. Рекомендуем использовать именно его.
- Внедрена схема аутентификации JWT и настройка страниц входа и регистрации новых пользователей.
- Поддержка аутентификации пользователей через хранимые процедуры с учетом ролей. Например, пользователи могут самостоятельно регистрироваться как покупатели или продавцы и использовать соответствующие роли
buyerс разными возможностями. - DBGate автоматически заменяет тег
<base href="/" />для приложений IIS, что позволяет использовать один и тот же каталог wwwroot для веб-сайтов, приложений IIS, сервисов Windows и консольных приложений. - Разработчики могут настроить изменение имен объектов для сервиса в секции
ApiNameReplacementsнастройки подключения. Например, можно изменить имя "view_money_transactions" на "transactions". - DBGate автоматически определяет наличие SSL-сертификата в Windows и использует конечные точки HTTPs.
- Автоматическое перенаправление на конечные точки HTTPs, если обслуживаются конечные точки HTTP и HTTPs.
- Возможность настройки порта по умолчанию.
- Обработчики
WhereByDefaultпозволяют задать колонки, используемые в качестве фильтров по умолчанию. - Обработчики
HideByDefaultпозволяют задать колонки и параметры, скрытые по умолчанию. - DBGate позволяет изменять сервер, базу данных и порт для подключения (если разрешено). Например, можно использовать адрес
/edit/mssql:db.savetodb.com,1433,AzureDemo100/для подключения к базе данныхAzureDemo100на сервереdb.savetodb.comпо порту 1433. - Домашняя страница подключений к базам данных
master,mysqlиpostgresпозволяет выбрать доступную базу данных на сервере. - Клиент JavaScript поддерживает темную тему и отображает панель слева для быстрого подключения к любому объекту.
- Возможность фильтрации таблиц и использования видов таблиц (используйте надстройку SaveToDB для создания и сохранения видов).
- Клиент JavaScript отображает иконку с описанием таблицы из базы данных.
Улучшения:
- DBGate поддерживает имя подключения как первый сегмент. Теперь поддерживаются оба варианта: /
<root>/<connection>/<query>и /<connection>/<root>/<query>. Например: https://dbgate/edit/mssql/ и https://dbgate/mssql/edit/. - Обработчики
DoNotAddValidationListsотключают автоматическое создание списков значений параметров. - Схема таблиц настройки приложений используется для поиска объектов без заданных схем.
- Тип
tinyint(1)в MySQL трактуется как boolean. - DBGate определяет типы колонок хранимых процедур по объектам сохранения изменений.
- DBGate возвращает массив имен колонок для пустых результатов хранимых процедур с неизвестным набором выходных колонок.
- Поле
RowNumberскрыто по умолчанию. - DBGate поддерживает переменную среды
ASPNETCORE_WEBROOTдля определения папкиwebroot. - DBGate позволяет задать базовый путь приложения ASP.NET в свойстве
ApplicationPathBase. - DBGate может обслуживать конечные точки API при отсутствии папки
wwwroot.
Исправленные ошибки:
- MySqlConnectorNet в Linux вызывает исключение, связанное с _dataCache.
- DBGate не экранирует переводы строк в мета-данных.
Версия 2.7 от 12.07.2023
Улучшения:
- Улучшена обработка исключений.
Версия 2.6 от 10.04.2023
Улучшения:
- DBGate позволяет использовать объекты MySQL с пустыми схемами, применяя схему активного соединения.
- Повышена производительность загрузки метаданных SQL Server.
Версия 2.5 от 21.02.2023
Новые возможности:
- DBGate генерирует списки значений на основе значений ENUM в MySQL и PostgreSQL.
- Поддержка типа данных SET в MySQL.
- DBGate преобразует данные MySQL
binary(16)иvarbinary(16)в формат GUID при наличии функцийuuid_to_bin(uuid()),uuid_to_bin(uuid(),0)илиuuid_to_bin(uuid(),1)вCOLUMN_DEFAULT.
Улучшения:
- DBGate использует установленный в системе провайдер данных
MySql.Data.MySqlClient, вместо встроенного. - Динамическая замена отсутствующего провайдера данных
MySql.Data.MySqlClientна встроенныйMySqlConnector. - Улучшена производительность получения метаданных MySQL 8.
Исправленные ошибки:
- Подключение к MySQL 8 с использованием провайдера данных
MySql.Data.MySqlClientвызывает различные исключения.
Версия 2.4 от 23.01.2023
Улучшения:
- Обновлены примеры приложений на 2023 год.
- Обновлены провайдер данных .NET и .NET Framework для Snowflake.
- Обновлена утилита регистрации.
Версия 2.3 от 13.12.2022
Улучшения:
- DBGate поддерживает страницы редактирования, специфичные для языка.
- Включены специальные страницы редактирования для упрощенного китайского, традиционного китайского, японского и корейского языков.
- Добавлена новая темная тема.
- Примеры и пакеты SaveToDB Framework выпущены под лицензией MIT.
Версия 2.2 от 05.10.2022
Исправленные ошибки:
- Значения типа даты и времени SQLite и MySQL через провайдеры .NET выводятся в виде строк.
Версия 2.1 от 17.08.2022
Критические изменения:
- DBGate не активирует сохранение изменений для представлений, процедур и SQL-кода на основе соединения нескольких таблиц. Для сохранения изменений таких объектов необходимо вручную задать целевую таблицу в таблице
xls.objects. - Поля представлений и процедур на основе нескольких таблиц помечаются как расчетные.
- Контекстные параметры для клиентских приложений включаются в состав полей объектов (например,
rownum).
Улучшения:
- Перевод в SQLite с пустыми схемами и именами объектов добавляется в схему Default.
- Улучшено определение полей для списков значений (понижен приоритет
GuidиChar(36)). $orderby=возвращает данные без сортировки по умолчанию.
Исправленные ошибки:
- DBGate отключает сохранение процедурами, если задан обработчик изменений
_change. - DBGate не сохраняет изменения данных из форм JSON.
- Не работает редирект на домашнюю страницу при изменении свойства
baseв HTML-страницах.
Версия 2.0 от 05.07.2022
DBGate включает изменённое лицензионное соглашение.
Наиболее важное изменение:
"Приобретая программу от имени вашей компании, вы даёте неявное согласие на указание имени вашей компании как нашего клиента. Вы можете отозвать ваше согласие в любой момент, направив запрос по электронной почте."
Новые возможности:
- Добавлена документация DBGate на русском языке.
- Включено новое Руководство разработчика.
- DBGate доступен на упрощенном китайском, традиционном китайском, японском и корейском языках.
- Поддержка языковых кодов длиной до 10 символов. Например, можно использовать
zh-cn,zh-hansиzh-hans-cn.zh-hansиzh-hantявляются предпочтительными для китайского языка. - Поддержка SQL-кода во всех таблицах настройки.
- Поддержка .NET Framework 4.7.2.
- Поддержка провайдера
Microsoft.Data.SqlClient. - Поддержка пакетных запросов
POST /$batch, совместимых с OData. - Поддержка конечных точек управления приложением:
/api/$stop,/api/$show,/api/$hide. Для включения поддержки команд установитеStopEnabledвtrueв файле настроек приложения. - Поддержка параметра
$reloadMetadata=trueв HTTP-запросах для обновления метаданных базы данных. Пользователи могут нажатьCtrlи кликнуть на кнопкеReloadдля обновления метаданных в клиенте JavaScript. - Поддержка параметра
$distinct=trueдля возврата данных запросовSELECT DISTINCT. - Поддержка параметра
$orderbyв URL-запросах. - Поддержка параметра
$groupbyв URL-запросах. - Поддержка параметра
$iscount=trueв URL-запросах для возврата значенияSELECT COUNT(*). - Поддержка параметра
$binaryAsHexв URL-запросах и параметраbinaryAsHexв заголовкеPrefer. - Поддержка параметра
$bigNumbersAsStringв URL-запросах и параметраbigNumbersAsStringв заголовкеPrefer. - Поддержка параметра
$dateTimeAsDateTimeOffsetв URL-запросах и заголовкеPrefer. - Поддержка параметров
$timezoneи$timezoneoffsetв URL-запросах и заголовкеPrefer. - Настройки DBGate в файле конфигурации выделены в группы
DBGateиDBGateW. - Поддержка новых опций в файле конфигурации:
MaxPageSize,UppercaseNamesInLowercase,DisableEditPageCache,BinaryAsHex,BigNumbersAsString,FunctionPrefixes,FunctionSuffixes,TraceSQL,StopEnabled. - Поддержка новых опций в строках подключения в файле конфигурации:
AllowDatabaseChange,Offline,Home. - Поддержка конечных точек в формате
/schema/name/{id}для выборки единственной записи по значению первичного ключа. - Добавлен заголовок "dbgate-version: 2.0".
- Добавлен заголовок для отключения кэширования:
Cache-control: no-cache, no-store, must-revalidate. - Результаты таблиц и представлений сортируются по умолчанию. Для сортировки могут использоваться первичные ключи, колонки identity или полный набор выходных колонок.
- Метаданные объектов включают описание обработчиков событий.
- Метаданные параметров могут включать свойство
CONTEXT_TYPEсо значениями:Language,Top,Skip. - Разработчики могут переопределить значение
DEFAULT_VALUEв метаданных параметров, используя обработчикиDefaultValue. - Поддержка разбивки результата по страницам и параметров
$topи$skipв URL-запросах. Разбивка на страницы для таблиц и представлений выполняется автоматически. Разработчики могут реализовать разбивку на страницы для хранимых процедур, используя пары параметров:topиskip,limitиoffset,$topи$skipили$limitи$offset. Используйте опциюMaxPageSizeдля настройки максимального размера страницы. - Клиент JavaScript поддерживает фиксацию колонок.
- Клиент JavaScript позволяет выполнять обработчики типа
ActionsиContextMenu. - Клиент JavaScript поддерживает JSON-параметры процедур редактирования.
- Клиент JavaScript поддерживает процедуры обновления единственным запросом (bulk update).
Улучшения:
- Платформа DBGate обновлена до .NET 6.0.
- Поддержка SaveToDB Framework 10.
- Клиент JavaScript значительно переработан, включая CSS.
- DBGate преобразует пустые значения нестроковых типов в
NULL. - DBGate выводит в свойствах
DATA_TYPEзначенияSystem.DbTypeвместо типов данных SQL конкретной платформы. - DBGate не добавляет поля
@псевдокода SQL в выходные поляSELECT. Например,id, state, @country_idпреобразуется вSELECT id, state FROM ... WHERE country_id = @country_id. - Параметры хранимых процедур и SQL-кода могут использовать символы в кодировке XML для получения значений из базовых колонок. Например, параметр
@company_x0020_nameполучает значение колонки "company name".
Исправленные ошибки:
- DBGate не читает объекты SQL Data Warehouse.
- DBGate возвращает пустой заголовок
content-typeдля некоторых ответовtextиHTML.