数据库模式更新

标签 database sqlite migration air

我正在开发一个使用本地 SQLite 数据库的 AIR 应用程序,并且想知道在分发新版本的应用程序时如何管理数据库架构更新。还考虑跳过某些版本的更新。例如。不是从 1.0 到 1.1,而是从 1.0 到 1.5。

您会推荐什么技术?

最佳答案

对于 SQLite,您可以使用 user_version pragma 来跟踪数据库的版本。获取版本:

PRAGMA user_version

设置版本:

PRAGMA user_version = 5

然后我将每组更新保存在一个 SQL 文件中(嵌入在应用程序中)并运行更新到最新版本所需的更新:

Select Case currentUserVersion
Case 1
  // Upgrade to version 2
Case 2
  // Upgrade to version 3
Case etc...
End Select

这允许应用程序自行更新到最新版本,而不管数据库的当前版本如何。

关于数据库模式更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/550662/

相关文章:

ruby-on-rails - Rails 5.1.0 如何升级

database - 过程中 PL/SQL 中的约束双重检查

database - SQLite3 : database not being saved

c# - 将.NET datetime转换为SQlite datetime

订购页面 : "This customer email already exists" 上的 Magento

spring-boot - AMQP ConvertSendAndReceive 无法从 Spring Boot 1.5 迁移到 2

mysql - 为什么我应该对关联表使用主 ID

MySQL-选择收集第二个选择结果的地方

mysql - 我可以将 MySql 设置为始终删除前导/尾随空格吗?

sqlite - 在 Laravel 迁移中决定唯一、主要或增量