【问题标题】:Store object into SQLite database best practices将对象存储到 SQLite 数据库最佳实践
【发布时间】:2011-05-10 14:51:34
【问题描述】:

我想将一个对象存储到 SQLlite 数据库中。我正在寻找如何最好地做到这一点,以确保如果我将来需要更新/更改此对象,新旧对象布局的用户将受到的影响最小。换句话说,我想确保对对象进行更改将对不使用旧数据库格式更新其软件的客户端产生最小的影响。我还想确保从旧记录样式轻松更新到新格式。

我在想我可以在 SQL 行中添加一个元素来标识具有唯一名称的对象类型,并标识对象版本号。这样我就可以读取行并使用对象编号来控制反序列化器使用正确版本的类。

我将非常感谢有关该主题的最佳做法。

【问题讨论】:

  • 如果是安卓应用,当你更新软件时,你就有机会更新数据库。一般不会出现新软件+旧数据库或新数据库+旧软件场景的问题。
  • 有趣我不知道有这样的事情。你个人用过吗?如果有,你的经历是什么?

标签: android sqlite serialization


【解决方案1】:

开头的信息是here

基本上,您需要创建SQLiteOpenHelper 的子类。这样做您将获得有用的回调来创建/更新您的数据库架构甚至更改数据。

SQLiteOpenHelper.onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 回调由操作系统自动调用并接受版本参数,因此您将能够检测是否有升级或降级,从而进行所需的数据库更改。这样您就可以安排某种数据库迁移(以Rails 的方式)。

【讨论】:

    猜你喜欢
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 2011-03-22
    • 2012-04-28
    • 2015-10-16
    • 1970-01-01
    • 2018-04-26
    相关资源
    最近更新 更多