{
  "$schema": "http://json-schema.org/schema",
  "version": 2,
  "title": "Migrate executor",
  "description": "Apply pending migrations to SurrealDB with dependency resolution",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "SurrealDB connection URL (e.g., ws://localhost:8000)",
      "default": ""
    },
    "user": {
      "type": "string",
      "description": "SurrealDB username",
      "default": ""
    },
    "pass": {
      "type": "string",
      "description": "SurrealDB password",
      "default": ""
    },
    "namespace": {
      "type": "string",
      "description": "SurrealDB namespace",
      "default": ""
    },
    "database": {
      "type": "string",
      "description": "SurrealDB database",
      "default": ""
    },
    "module": {
      "type": ["string", "number"],
      "description": "Target specific module by name (e.g., 'auth'), number (e.g., 10), full directory name (e.g., '010_auth'), or comma-separated list (e.g., '010,020,auth')",
      "default": ""
    },
    "filename": {
      "type": ["string", "number"],
      "description": "Target specific migration file by number (e.g., 1), name (e.g., 'auth'), full filename (e.g., '0001_authentication_up.surql'), or comma-separated list (e.g., '1,2,auth')",
      "default": ""
    },
    "envFile": {
      "type": "string",
      "description": "Path to environment file relative to workspace root",
      "default": ""
    },
    "useTransactions": {
      "type": "boolean",
      "description": "Wrap migrations in database transactions",
      "default": true
    },
    "initPath": {
      "type": "string",
      "description": "Path to migrations directory",
      "default": "database"
    },
    "schemaPath": {
      "type": "string",
      "description": "Path to custom schema file",
      "default": ""
    },
    "force": {
      "type": "boolean",
      "description": "Force apply migrations even if they appear to be already applied",
      "default": false
    },
    "configPath": {
      "type": "string",
      "description": "Path to configuration file (config.json or config.yaml)",
      "default": ""
    },
    "dryRun": {
      "type": "boolean",
      "description": "Show what migrations would be applied without executing them",
      "default": false
    },
    "detailed": {
      "type": "boolean",
      "description": "Show detailed migration information including execution details",
      "default": false
    },
    "debug": {
      "type": "boolean",
      "description": "Enable debug logging for troubleshooting (includes detailed output)",
      "default": false
    }
  },
  "additionalProperties": false
}
