首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振SQLFLITE openDatabase()“version”参数

颤振SQLFLITE openDatabase()“version”参数
EN

Stack Overflow用户
提问于 2022-06-12 12:19:01
回答 1查看 44关注 0票数 0

请有人解释一下,在Sqlflite软件包的openDatabase函数中,“版本”参数的意义是什么?

我已经看过文档(链接),但无法理解它。

EN

回答 1

Stack Overflow用户

发布于 2022-06-12 14:07:10

假设您创建了一个包含nameage列的数据库,并发布了应用程序。现在要将列age添加到表中,如果将它添加到create table查询中,它将产生一个错误,因为表已经存在,如果使用create table if not exist查询,它将不会创建新列,因为表也已经存在。

那么,前面的用户将如何获得新的age列?

这就是版本开始发挥作用的地方。

增加版本并在onUpdate函数中添加一个查询以更改表并添加age列,

代码语言:javascript
复制
if (DatabaseClient.dbOldVersion < 2) {
  await db.execute("ALTER TABLE $tableName ADD COLUMN Age INTEGER DEFAULT 0");
}

这样,当您将更新发布到应用程序并由前一个用户更新时,当他们在更新后第一次打开应用程序时,onUpdate就会被调用,因为他们的数据库版本与您在此更新中指定的版本不同。

注意,您也需要更新create查询,以防新用户在新版本之后下载该应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72592134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档