GRDB.swift v2.7.0 Release Notes

  • ๐Ÿš€ Released January 21, 2018 • diff

    ๐Ÿ†• New

    • ๐Ÿ“š The new RecordBox class brings changes tracking to any record type (documentation):

      // A regular record struct
      struct Player: RowConvertible, MutablePersistable { ... }
      
      try dbQueue.inDatabase { db in
          // Fetch a boxed player
          if let boxedPlayer = try RecordBox<Player>.fetchOne(db, key: 1) {
              // boxedPlayer.value is Player
              boxedPlayer.value.score = 300
      
              if boxedPlayer.hasPersistentChangedValues {
                  print("player has been modified")
              }
      
              // Does nothing if player has not been modified:
              try boxedPlayer.updateChanges(db)
          }
      }