sql - 在数据库本身中存储数据库版本

标签 sql database configuration version h2

我正在编写一个使用 h2 数据库存储数据的程序。 随着我们向软件中添加功能,数据库将不断发展,但我们仍然希望用户能够将旧版本的数据库与新版本的程序一起使用。这样程序可以自动将数据库升级到更新的版本(可能首先要求用户确认)。 要编写这个“数据库升级器”,我们需要将数据库版本存储在数据库本身中,这样就可以只移动数据库文件(我们使用的是 h2 数据库引擎的文件模式)。 我们尝试做这样的事情:

TABLE configuration (databaseVersion INT NOT NULL);

但这意味着有一个表,其中只使用了一行而不显式检查行数。

有没有更好的方法来做到这一点? 在此先感谢您的帮助。

最佳答案

我认为这是一个很好的解决方案,如果您只是需要保留数据库版本。

有时您需要保留多个这样的“全局”设置,例如,如果您的应用程序包含多个模块,并且每个模块都有自己的版本。或者其他东西,比如上次备份的位置。我通常使用的是带有键/值对的 settings 表,其中 key(该表的主键)和 valuevarchar 类型。

关于sql - 在数据库本身中存储数据库版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28094777/

相关文章:

mysql - 查询结果的where子句

database - 在 Redis 中,如何获取 key 的到期日期?

android - 代码不验证空值

git - Netbeans 中缺少(明显)Git 按钮

configuration - PHPUnit:仅过滤一个测试套件

python - 如何从数据库中同时检索对象?

mysql - 您的 SQL 语法有错误; 'by rand() limit 0,5' 在第 1 行

configuration - CC使变量可用

mysql - SQL - 获取 "records"在我拥有的字符串列表中没有匹配项

C# 测试数据库连接