История изменений 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
.