update method

Future<void> update(
  1. ISQLiteItem item
)

Implementation

Future<void> update(ISQLiteItem item) async {
  final db = await getOpenDatabase();
  final map = item.toMap();
  final tableName = item.getTableName();
  var existingColumns = await tableColumns(tableName, db: db);
  map.removeWhere((key, value) => !existingColumns.contains(key));
  final id = map[item.getPrimaryKeyName()];

  if (id != null && id > 0) {
    await db.update(tableName, map,
        where: '${item.getPrimaryKeyName()} = ?', whereArgs: [id]);
  }
}