Skip to content

Run a saved query or an export on a schedule #3621

Open

Description

@datlechin

Problem

Nothing in TablePro runs on its own. A report that has to land every morning is a saved query someone opens, runs and exports by hand. The only timer that queries a database is the Server Dashboard refresh (apple/TablePro/ViewModels/ServerDashboardViewModel.swift:25).

The scripting routes run only when something calls them: AppleScript run query (developers/applescript.mdx) and the MCP export_data tool (developers/mcp-tools.mdx), which writes only into Downloads. So a schedule today is a launchd job the user writes and keeps working.

Proposed solution

  • Schedule… on a saved query: at a time of day, on chosen weekdays, or every N minutes or hours, on the query's connection and database.
  • Each run can export its result to a chosen folder, in any format the Export dialog offers, with the date and time in the file name, and can post a notification through Settings > Notifications with Show in Finder.
  • Unattended means read-only by default. A statement that writes runs only when the schedule says so explicitly, and never on a connection whose Safe Mode asks for confirmation.
  • A run never prompts. A connection that needs a typed password, a TOTP code or a confirmation is skipped, and the run is logged as failed with the reason.
  • A run log per schedule: start, duration, row count, file written, error. Pause and Run Now on each schedule.
  • Schedules run while TablePro is open. A run missed while it was closed is either run once at the next launch or skipped, set per schedule.
  • Ships as a module, off by default, as apple/AGENTS.md (Scope) asks of a new advanced tool.

Done means a saved query set to 08:00 on weekdays writes orders-2026-10-20.csv into the chosen folder each weekday while TablePro runs, and the log shows each run.

Alternatives considered

A launchd job that runs osascript with AppleScript run query, or an MCP client on a timer calling export_data.

Platform

macOS

Related database type

N/A / General

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions