将数据库版本存储在数据库本身中



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

TABLE configuration (databaseVersion INT NOT NULL);

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

有没有更好的方法可以做到这一点?提前感谢您的帮助。

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

有时您需要保留多个这样的"全局"设置,例如,如果您的应用程序由多个模块组成,并且每个模块都有自己的版本。或其他内容,例如上次备份的位置。我通常使用的是一个带有键/值对的settings表,其中key(该表的主键)和value都是 varchar 类型。

最新更新