source:
  type: mysql
  # Pass your connection string via the DATABASE_URL environment variable.
  # For Docker: docker run -e DATABASE_URL="mysql://user:pass@host:3306/db"
  # For local:  export DATABASE_URL="mysql://user:pass@localhost:3306/db"
  # On macOS/Windows Docker Desktop, use host.docker.internal instead of localhost.
  url_env: DATABASE_URL

exports:
  - name: users_full
    query: "SELECT id, name, email, created_at FROM users"
    mode: full
    format: parquet
    destination:
      type: local
      path: /output             # matches -v $(pwd)/output:/output in Docker

  - name: orders_incremental
    query: "SELECT id, user_id, product, quantity, price, status, updated_at FROM orders"
    mode: incremental
    cursor_column: updated_at
    format: csv
    # MySQL does not expose DECIMAL precision/scale, so declare it.
    columns:
      price: decimal(10,2)
    destination:
      type: s3
      bucket: my-data-lake            # replace with your bucket
      prefix: exports/orders/
      region: us-east-1

  - name: content_items_full
    query: "SELECT id, title, category, status, view_count, published_at, updated_at FROM content_items"
    mode: full
    format: parquet
    destination:
      type: gcs
      bucket: my-gcs-bucket            # replace with your bucket
      prefix: exports/content/
