docs: def migrate_app(sender, *args, **kwargs):
      """
      Migrate all models of this app registered
      """
      from .registration import registry
      if 'app_config' not in kwargs:
          return
      app_config = kwargs['app_config']
  
      app_name = app_config.label
  
      fields = [fld for fld in list(registry._field_registry.keys()) if fld.startswith(app_name)]
  
      sid = transaction.savepoint()
      for fld in fields:
          model_name, field_name = fld.split('.')[1:]
          if field_exists(app_name, model_name, field_name):
              continue
          model = app_config.get_model(model_name)
          try:
              with connection.schema_editor() as schema_editor:
                  schema_editor.add_field(model, registry._field_registry[fld])
                  if sid:
                      transaction.savepoint_commit(sid)
          except ProgrammingError:
              if sid:
                  transaction.savepoint_rollback(sid)
              continue