История изменений ODataDB
Версия 5.2 от 05.05.2025
Улучшения:
- Добавлен файл Dockerfile и командные файлы для управления образами и контейнерами Docker.
- При запуске из контейнера теперь прослушиваются все IP-адреса.
Версия 5.1 от 30.04.2025
Изменения в лицензировании:
- ODataDB теперь распространяется по модели двойного лицензирования:
- Редакция Free доступна по лицензии MIT.
- Редакция Enterprise - по обновлённому лицензионному соглашению конечного пользователя (EULA).
- Редакция Free поддерживает до пяти подключений пользователей к одной базе данных.
Важные изменения:
- Локальный CHM-файл справки заменён на онлайн-документацию.
- Прекращена поддержка баз данных DB2 и NuoDB.
Улучшения:
- Если поле или параметр содержит кодированные символы, такие как
_x0020_
, автоматически добавляется значение display_name с декодированным именем. - Обновлены примеры приложений на 2025 год.
- Обновлены провайдеры данных SqlClient, MySqlConnector, Npgsql и SQLite.
Исправленные ошибки:
- ODataDB использует двойные кавычки для значений параметров в некоторых SQL-запросах вместо одинарных.
- ODataDB неправильно декодирует имена, содержащие кодированные символы XML, такие как
_x0020_
.
Версия 5.0 от 07.05.2024
Важные изменения:
- Требуется ASP.NET Core 8.0.
- Microsoft Internet Explorer больше не поддерживается.
- ODataDB 5.0 не включает поставщики данных для Oracle Database и SQLite (их можно установить отдельно).
- Ключ
EditRoots
стал секцией и включает корневые сегменты и соответствующие страницы. СекцияEditPages
удалена. - Для работы клиента JavaScript требуется поддержка модулей JavaScript.
- Установочные пакеты ODataDB теперь включают новые настройки приложения и файлы каталога wwwroot. Примеры исключены для упрощения начальной настройки.
Новые возможности:
- Новый мастер
setup.exe
позволяет настраивать веб-сайты и приложения IIS, сервисы Windows и сертификаты SSL в Windows. Рекомендуем использовать именно его. - ODataDB включает новый пакет установщика для Windows.
- В ODataDB добавлена схема аутентификации JWT и настройки страниц входа и регистрации новых пользователей.
- Поддержка аутентификации пользователей через хранимые процедуры с ролями. Например, пользователи могут регистрироваться как покупатели или продавцы и получать соответствующие роли
buyer
с разными возможностями. - ODataDB автоматически заменяет тег
<base href="/" />
для приложений IIS, что позволяет использовать один и тот же каталог wwwroot для веб-сайтов, приложений IIS, сервисов Windows и консольных приложений. - Разработчики могут настроить изменение имен объектов для сервиса в секции
ApiNameReplacements
настройки подключения. Например, можно изменить имя "view_money_transactions" на "transactions". - ODataDB автоматически определяет наличие SSL-сертификата в Windows и использует конечные точки HTTPS.
- ODataDB автоматически перенаправляет на конечные точки HTTPS, если доступны как HTTP, так и HTTPS.
- ODataDB позволяет настроить порт по умолчанию.
- Обработчики
WhereByDefault
задают колонки, которые используются в качестве фильтров по умолчанию. - Обработчики
HideByDefault
позволяют скрывать колонки и параметры по умолчанию. - ODataDB позволяет изменять сервер, базу данных и порт для подключения (если разрешено). Например, можно использовать адрес типа
/edit/mssql:db.savetodb.com,1433,AzureDemo100/
для подключения к базе данныхAzureDemo100
на сервереdb.savetodb.com
по порту 1433. - Домашняя страница подключений к базам данных
master
,mysql
иpostgres
позволяет выбрать доступную базу данных на сервере. - Клиент JavaScript поддерживает темную тему.
- Клиент JavaScript отображает панель слева для быстрого подключения к любому объекту.
- Клиент JavaScript позволяет фильтровать таблицы.
- Клиент JavaScript поддерживает виды таблиц (используйте надстройку SaveToDB для создания и сохранения видов).
- Клиент JavaScript отображает иконку с описанием таблицы из базы данных.
Улучшения:
- ODataDB поддерживает имя подключения как первый сегмент. Теперь поддерживаются оба варианта: /
<root>
/<connection>
/<query>
и /<connection>
/<root>
/<query>
. Например: https://odatadb/edit/mssql/ и https://odatadb/mssql/edit/. - Обработчики
DoNotAddValidationLists
отключают автоматическое создание списков значений параметров. - Схема таблиц настройки приложений используется для поиска объектов без заданных схем.
- Тип tinyint(1) в MySQL трактуется как boolean.
- ODataDB определяет типы колонок хранимых процедур по объектам сохранения изменений.
- ODataDB возвращает массив имен колонок для пустых результатов хранимых процедур с неизвестным набором выходных колонок.
- Поле
RowNumber
скрыто по умолчанию. - ODataDB поддерживает переменную среды
ASPNETCORE_WEBROOT
для определения папкиwebroot
. - ODataDB позволяет задать базовый путь приложения ASP.NET в свойстве
ApplicationPathBase
. - ODataDB может обслуживать конечные точки API без папки
wwwroot
.
Исправленные ошибки:
- MySqlConnectorNet в Linux вызывает исключение, связанное с _dataCache.
- ODataDB не экранирует переводы строк в мета-данных.
Версия 4.7 от 12.07.2023
Улучшения:
- Улучшена обработка исключений.
Версия 4.6 от 10.04.2023
Улучшения:
- ODataDB позволяет использовать объекты MySQL с пустыми схемами, применяя схему активного соединения.
- Повышена производительность загрузки метаданных SQL Server.
Версия 4.5 от 21.02.2023
Новые возможности:
- ODataDB генерирует списки значений на основе ENUM в MySQL и PostgreSQL.
- ODataDB поддерживает тип данных SET в MySQL.
- ODataDB преобразует данные MySQL
binary(16)
иvarbinary(16)
в формат GUID, если вCOLUMN_DEFAULT
используются функцииuuid_to_bin(uuid())
,uuid_to_bin(uuid(),0)
илиuuid_to_bin(uuid(),1)
.
Улучшения:
- ODataDB использует поставщик данных
MySql.Data.MySqlClient
, установленный в системе, вместо встроенного. Это позволяет использовать актуальную версию поставщика: MySQL Connector/NET. - ODataDB динамически заменяет отсутствующий поставщик
MySql.Data.MySqlClient
на встроенныйMySqlConnector
. - Улучшена производительность получения метаданных MySQL 8.
Исправленные ошибки:
- Подключение к MySQL 8 с использованием
MySql.Data.MySqlClient
вызывает различные исключения.
Версия 4.4 от 23.01.2023
Улучшения:
- Обновлены примеры приложений на 2023 год.
- Обновлены поставщик данных .NET и .NET Framework для Snowflake.
- Обновлена утилита регистрации.
Версия 4.3 от 13.12.2022
Улучшения:
- ODataDB поддерживает страницы редактирования, специфичные для языка.
- Включены специальные страницы редактирования для упрощенного и традиционного китайского, японского и корейского языков.
- Добавлена новая темная тема.
- Примеры и пакеты SaveToDB Framework выпущены под лицензией MIT.
Версия 4.2 от 05.10.2022
Исправленные ошибки:
- Значения типа даты и времени в SQLite и MySQL через .NET выводятся в виде строк.
Версия 4.1 от 17.08.2022
Критические изменения:
- ODataDB не активирует сохранение изменений для представлений, процедур и SQL-кода, основанного на соединении нескольких таблиц. Для сохранения изменений таких объектов необходимо вручную задать целевую таблицу в таблице
xls.objects
. - Если тип данных свойства или параметра не может быть определен, используется тип
Edm.Untyped
(добавлен в OData 4.01). - Списки значений на основе таблиц и представлений всегда публикуются как функции.
- Поля представлений и процедур на основе нескольких таблиц помечаются как расчетные.
- Контекстные параметры для клиентских приложений включаются в состав свойств объектов (например,
rownum
). - Если для объекта определена единственная процедура вставки (режим Merge), то объект результата выводится как
ComplexType
, а неEntityType
.
Улучшения:
- Перевод в SQLite с пустыми схемами и именами объектов добавляется в схему Default.
- Улучшено определение полей для списков значений (понижен приоритет
Guid
иChar(36)
). - Из модели исключаются ссылки на определение аннотаций, если вывод аннотаций не требуется.
Исправленные ошибки:
- ODataDB отключает сохранение процедурами, если задан обработчик изменений
_change
. - ODataDB не сохраняет изменения данных из форм JSON.
- Не работает редирект на домашнюю страницу при изменении свойства
base
в HTML-страницах.
Версия 4.0 от 05.07.2022
ODataDB включает измененное лицензионное соглашение.
Наиболее важное изменение:
"Приобретая программу от имени вашей компании, вы даете неявное согласие на указание имени вашей компании как нашего клиента. Вы можете отозвать ваше согласие в любой момент, направив запрос по электронной почте."
Новые возможности:
- Добавлена документация ODataDB на русском языке.
- Включено новое Руководство разработчика.
- ODataDB доступен на упрощенном китайском, традиционном китайском, японском и корейском языках.
- Поддерживаются языковые коды длиной до 10 символов. Например, можно использовать
zh-cn
,zh-hans
иzh-hans-cn
.zh-hans
иzh-hant
являются предпочтительными для китайского языка. - ODataDB поддерживает SQL-код во всех таблицах настройки.
- ODataDB поддерживает .NET Framework 4.7.2.
- ODataDB поддерживает провайдер
Microsoft.Data.SqlClient
. - ODataDB поддерживает конечные точки управления приложением:
/v4/$stop
,/v4/$show
,/v4/$hide
. Для включения поддержки команд установитеStopEnabled
вtrue
в файле настроек приложения. - ODataDB поддерживает параметр
$reloadMetadata=true
в HTTP-запросах для обновления метаданных базы данных. Пользователи могут нажатьCtrl
и кликнуть на кнопке Reload для обновления метаданных в клиенте JavaScript. - ODataDB поддерживает параметр
$orderby
в URL-запросах. - ODataDB поддерживает параметр
$binaryAsHex
в URL-запросах и параметрbinaryAsHex
в заголовкеPrefer
. - ODataDB поддерживает параметр
$bigNumbersAsString
в URL-запросах и параметрbigNumbersAsString
в заголовкеPrefer
. - ODataDB поддерживает параметры
$timezone
и$timezoneoffset
в URL-запросах и заголовкеPrefer
. - Настройки ODataDB в файле конфигурации выделены в группы
ODataDB
иODataDBW
. - ODataDB поддерживает новые опции в файле конфигурации:
MaxPageSize
,UppercaseNamesInLowercase
,DisableEditPageCache
,BinaryAsHex
,BigNumbersAsString
,TraceSQL
,StopEnabled
. - ODataDB поддерживает новые опции в строках подключения в файле конфигурации:
AllowDatabaseChange
,Offline
,Home
. - ODataDB добавляет заголовок для отключения кэширования:
Cache-control: no-cache, no-store, must-revalidate
. - Метаданные объектов включают аннотации для настроенных обработчиков событий.
- ODataDB сортирует результаты таблиц и представлений по умолчанию. Для сортировки могут использоваться первичные ключи, колонки identity или полный набор выходных колонок.
- Разработчики могут реализовать разбивку на страницы для хранимых процедур, используя пары параметров:
top
иskip
,limit
иoffset
,$top
и$skip
или$limit
и$offset
. - Клиент JavaScript поддерживает фиксацию колонок.
- Клиент JavaScript позволяет выполнять обработчики типа Actions и ContextMenu.
- Клиент JavaScript поддерживает JSON-параметры процедур редактирования.
- Клиент JavaScript поддерживает процедуры обновления одним запросом (bulk update).
Улучшения:
- Платформа ODataDB обновлена до .NET 6.0.
- ODataDB поддерживает SaveToDB Framework 10.
- Клиент JavaScript значительно переработан, включая CSS.
- ODataDB преобразует пустые значения нестроковых типов в NULL.
- ODataDB не добавляет поля @ псевдокода SQL в выходные поля SELECT. Например,
id, state, @country_id
преобразуется вSELECT id, state FROM ... WHERE country_id = @country_id
. - Параметры хранимых процедур и SQL-кода могут использовать символы в кодировке XML для получения значений из базовых колонок. Например, параметр
@company_x0020_name
получает значение колонки "company name". - ODataDB не использует аннотацию
IncludeInServiceDocument
для исключения ошибок в клиентах, использующих предыдущие версии Microsoft ODataLib.
Исправленные ошибки:
- ODataDB не читает объекты SQL Data Warehouse.
- ODataDB возвращает пустой заголовок
content-type
для некоторых ответовtext
иHTML
.