code: def upgrade():
      bind = op.get_bind()
      session = db.Session(bind=bind)
  
      for slc in session.query(Slice).all():
          try:
              params = json.loads(slc.params)
  
              # Note that the resample params could be encoded as empty strings.
              if "resample_rule" in params:
                  rule = params["resample_rule"]
  
                  # Per the old logic how takes precedence over fill-method. Note that
                  # due to UI options, alongside None, empty strings were viable choices
                  # hence the truthiness checks.
                  if rule:
                      how = None
  
                      if "resample_how" in params:
                          how = params["resample_how"]
  
                          if how:
                              params["resample_method"] = how
  
                      if not how and "fill_method" in params:
                          fill_method = params["resample_fillmethod"]
  
                          if fill_method:
                              params["resample_method"] = fill_method
  
                      # Ensure that the resample logic is fully defined.
                      if not "resample_method" in params:
                          del params["resample_rule"]
                  else:
                      del params["resample_rule"]
  
                  # Finally remove any erroneous legacy fields.
                  params.pop("resample_fillmethod", None)
                  params.pop("resample_how", None)
                  slc.params = json.dumps(params, sort_keys=True)
          except Exception as ex:
              logging.exception(ex)
  
      session.commit()
      session.close()
  
file_path: superset/superset/migrations/versions/2019-06-28_13-17_ab8c66efdd01_resample.py
imports: import json
  import logging
  from alembic import op
  from sqlalchemy import Column, Integer, Text
  from sqlalchemy.ext.declarative import declarative_base
  from superset import db
label_desc: Use image node_id 1 for calling a global function with example usage: upgrade() without return types