История изменений DBGate

История изменений DBGate

Версия 3.2 от 05.05.2025

Улучшения:

  • Добавлен файл Dockerfile и командные файлы для управления образами и контейнерами Docker.
  • При запуске из контейнера теперь прослушиваются все IP-адреса.

Версия 3.1 от 30.04.2025

Изменения в лицензировании:

Важные изменения:

  • Локальный 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.

Этот веб-сайт использует куки. Продолжая использовать веб-сайт, Вы принимаете условия Политики защиты персональных данных.