【问题标题】:full database table update完整的数据库表更新
【发布时间】:2020-02-07 01:42:28
【问题描述】:

我目前有一个 REST 端点,其中包含用于 sqlite 数据库的基本 CRUD 操作。

但我的应用程序一次更新整个表(带有“保存”按钮)

我目前的想法/解决方案是先查询数据,比较数据,只更新发生变化的“行”。

解决方案有点复杂,因为可以进行多种不同类型的更改:

  1. 添加行
  2. 删除行
  3. 行内容已更改(类似于内容向上或向下移动)

有没有更简单的解决方案?

最简单的解决方案有点脏。 (删除表,创建表并添加每一行)

【问题讨论】:

    标签: node.js sqlite node-sqlite3


    【解决方案1】:
    The solution is a bit complex because there are several
    different types of changes that can be done:
    
    Add row
    Remove row
    Row content changed (similar to content moving up or down)
    
    Is there a simpler solution?
    

    简单的答案是

    是的,你是对的。

    这正是你的做法。

    实际上没有简单的方法可以做到这一点。

    请注意,例如,Firebase 完全可以做到这一点。

    Firebase 价值数十亿美元,远非完美,它是由周围最聪明的人创造的。它的存在就是为了完全按照您的要求去做。

    再一次,对于您提出的问题,实际上没有简单的解决方案!

    一些一般性阅读:

    关于这方面的几篇不错的文章之一:

    1. https://www.objc.io/issues/10-syncing-data/data-synchronization/

    其次,您需要熟悉 Firebase,因为现在计算的正常部分是使用 baas 同步解决方案(例如 Firebase,通常是一些 noSql 解决方案),或者实际上是手动完成。

    1. http://firebase.google.com/docs/ios/setup/

    (我不特别推荐 Firebase,但你必须知道如何使用它,就像你必须知道如何做正则表达式并且你必须知道如何编写 sql 调用.)

    最后,如果没有 Core Data,您将无法制作逼真的 iOS 应用,

    1. https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CoreData/index.html

    核心数据决不能解决您描述的问题,但实际上您会在概念上解决问题时使用它。

    你可以享受境界,

    1. https://realm.io

    这又是 - 确切地说 - 您描述的问题的解决方案。 (这基本上是典型现代应用程序开发中的基本问题。)与 FBase 一样,即使您不喜欢它或决定在特定项目中不使用它,也需要熟悉它。

    祝你好运! :)

    【讨论】:

    • 是否有可以将表同步到传入的 JSON 的库?
    • @PrivatMamtora - Core Data 本质上就是这样做的。但它远非一个库,它很大。享受吧!
    • 环境为node。我希望有人制作了一个可以处理它的package
    • 我们确实构建了大规模、实时、OCC、同步系统——实际上我更喜欢 Node(在带有 sql 的 aws 上)!周围有许多 hokey 库,例如 github.com/3lvis/Sync ,但老实说,您需要熟悉 CoreData - 只是为了开始。
    • GRDB 是一个很好的库,可以考虑这样的事情 gist.github.com/groue/dcdd3784461747874f41
    猜你喜欢
    • 2015-03-05
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    • 2011-11-12
    相关资源
    最近更新 更多