code: def update_compaction(model):
      
      logger.debug("Checking %s for compaction differences", model)
      table = get_table_settings(model)
  
      existing_options = table.options.copy()
  
      existing_compaction_strategy = existing_options['compaction_strategy_class']
  
      existing_options = json.loads(existing_options['compaction_strategy_options'])
  
      desired_options = get_compaction_options(model)
  
      desired_compact_strategy = desired_options.get('class', SizeTieredCompactionStrategy)
  
      desired_options.pop('class', None)
  
      do_update = False
  
      if desired_compact_strategy not in existing_compaction_strategy:
          do_update = True
  
      for k, v in desired_options.items():
          val = existing_options.pop(k, None)
          if val != v:
              do_update = True
  
      # check compaction_strategy_options
      if do_update:
          options = get_compaction_options(model)
          # jsonify
          options = json.dumps(options).replace('"', "'")
          cf_name = model.column_family_name()
          query = "ALTER TABLE {} with compaction = {}".format(cf_name, options)
          logger.debug(query)
          execute(query)
          return True
  
      return False
docs: Updates the compaction options for the given model if necessary.
  
      :param model: The model to update.
  
      :return: `True`, if the compaction options were modified in Cassandra,
          `False` otherwise.
      :rtype: bool