docs: def available_migrations():
      '''
      List available migrations for udata and enabled plugins
  
      Each row is tuple with following signature:
  
          (plugin, package, filename)
      '''
      migrations = []
      for filename in resource_listdir('udata', 'migrations'):
          if filename.endswith('.js'):
              migrations.append(('udata', 'udata', filename))
  
      plugins = entrypoints.get_enabled('udata.models', current_app)
      for plugin, module in plugins.items():
          if resource_isdir(module.__name__, 'migrations'):
              for filename in resource_listdir(module.__name__, 'migrations'):
                  if filename.endswith('.js'):
                      migrations.append((plugin, module.__name__, filename))
      return sorted(migrations, key=lambda r: r[2])