Хранение версии базы данных в самой базе данных

Я пишу программу, которая использует базу данных h2 для хранения данных. База данных будет развиваться по мере добавления функций к нашему программному обеспечению, но мы по-прежнему хотим, чтобы пользователи могли использовать более старую версию базы данных с более новой версией программы. Таким образом, программа может автоматически обновить базу данных до более новой версии (возможно, сначала запросив подтверждение у пользователя). Чтобы написать это "средство обновления базы данных", нам нужно сохранить версию базы данных внутри самой базы данных, чтобы можно было просто переместить файл базы данных (мы используем режим файлов движка базы данных h2). Мы пытались сделать что-то вроде этого:

TABLE configuration (databaseVersion INT NOT NULL);

но это будет означать наличие таблицы, в которой используется только одна строка без явной проверки количества строк.

Есть ли лучший способ сделать это? Заранее спасибо за вашу помощь.

1 ответ

Решение

Я думаю, что это хорошее решение, если вам просто нужно сохранить версию базы данных.

Иногда вам нужно сохранить более одной такой "глобальной" настройки, например, если ваше приложение состоит из нескольких модулей, и каждый модуль имеет свою собственную версию. Или другие вещи, например, местоположение последней резервной копии. Я обычно использую settings таблица с парой ключ / значение, где оба key (первичный ключ этой таблицы) и value имеют тип varchar,

Другие вопросы по тегам