Dart 颤振-如何更新Sqflite中的表结构?

Dart 颤振-如何更新Sqflite中的表结构?,dart,flutter,sqflite,Dart,Flutter,Sqflite,我的应用程序正在生产中,我想在用户更新应用程序时管理用户数据而不丢失他们的数据,我如何使用sqflite实现这一点。明确地说,我想添加一个列并删除另一个列。您可能可以使用原始sql,但sqlite(因此sqflite)不支持删除列。为此,您需要执行以下操作: 增加数据库版本号 在onUpgrade中,将旧数据库列复制到临时表中 删除原始表 使用原始表名创建一个新表,但使用正确的架构 从临时表复制数据 删除临时表 很抱歉,这不是一个完整的答案,但如果我处在你的情况下,我会朝这个方向走。我也有同

我的应用程序正在生产中,我想在用户更新应用程序时管理用户数据而不丢失他们的数据,我如何使用
sqflite
实现这一点。明确地说,我想添加一个列并删除另一个列。

您可能可以使用原始sql,但sqlite(因此sqflite)不支持删除列。为此,您需要执行以下操作:

  • 增加数据库版本号
  • onUpgrade
    中,将旧数据库列复制到临时表中
  • 删除原始表
  • 使用原始表名创建一个新表,但使用正确的架构
  • 从临时表复制数据
  • 删除临时表

很抱歉,这不是一个完整的答案,但如果我处在你的情况下,我会朝这个方向走。

我也有同样的问题,并找到了一个很好的解决方案。

请你解释一下你的问题,并编辑你的标题。在制作版中,我有sqflite版本3,那么我应该为下一次更新更改此版本吗?