【问题标题】:Flutter - How to update the table structure in Sqflite?Flutter - 如何更新 Sqflite 中的表结构?
【发布时间】:2019-01-08 16:29:30
【问题描述】:

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

【问题讨论】:

标签: dart flutter sqflite


【解决方案1】:

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

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

对不起,这不是一个完整的答案,但如果我处于你的情况,这是我会去的方向。

【讨论】:

    【解决方案2】:

    我有同样的问题,发现this article 似乎是一个很好的解决方案。

    【讨论】:

      猜你喜欢
      • 2019-06-03
      • 1970-01-01
      • 2022-10-13
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多