c++ - 在 C++ 应用程序中存储、跟踪和更新 SQLite 数据库版本

标签 c++ database sqlite versioning

我有一个用 C++ 编写的应用程序,它使用 SQLite 数据库来存储信息。我需要一种为数据库分配版本号的方法。我的意思是,我需要能够为数据库的状态分配一个版本号,如果有新的“状态”(版本)可用,那么我需要更新当前的数据库状态以匹配数据库的状态更新后的版本。

我想知道将发生这种情况所需的信息存储在表中是否是一个好习惯。我需要版本号,然后需要某种存储与每个版本号相关的表及其列的方法。这将使我能够进行比较等。

我意识到这个问题Set a version to a SQLite database file是相关的,但是它并不能完全回答我的问题,因为我不确定我的方法是否正确,如果是,我如何实现这一目标。

非常感谢所有帮助。

最佳答案

使用PRAGMA user_version在数据库文件中读取和存储整数值。

当代码和数据库文件中的版本相同时,不执行任何操作。当不同时,进行相应的升级/降级并更新版本号。

关于c++ - 在 C++ 应用程序中存储、跟踪和更新 SQLite 数据库版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23336639/

相关文章:

c++ - 数据包定时问题

sql - 跨数据库字段的条件检查

php - 使用 PHP 列出 MySQL 数据库中的所有表

php - 如果主数据库已关闭,如何连接到辅助数据库(PHP)

database - 如何将应用程序包中的数据库文件放入库/应用程序支持/目录中?

c++ - 重载 Eigen::MatrixBase<T>

c++ - 存储各种尺寸也各不相同的结构的好方法?

c++ - 与隐式和显式模板声明混淆

multithreading - 运行函数python的多个实例

java - 根据Java应用程序,SQLite数据库不存在