Skip to content

CLI fails with rich-click < 1.9.0 due to aliases parameter #292

@cofin

Description

@cofin

Description

The CLI uses the aliases parameter on commands (e.g., line 695: aliases=["make-migration"]), but this feature was only added to rich-click in version 1.9.0 (September 2025).

Users with older versions of rich-click will encounter:

TypeError: __init__() got an unexpected keyword argument 'aliases'

Root Cause

In sqlspec/cli.py:695:

@database_group.command(
    name="create-migration", aliases=["make-migration"], help="Create a new migration revision."
)

The aliases parameter is a rich-click 1.9.0+ feature. Since pyproject.toml specifies "rich-click" without a version constraint, users may have older versions installed.

Affected Users

  • Users with rich-click < 1.9.0 installed (either directly or via transitive dependencies)
  • CI/CD environments with pinned/cached dependencies from before September 2025

Suggested Fix

Add version constraint to pyproject.toml:

dependencies = ["typing-extensions", "sqlglot>=19.9.0", "mypy-extensions", "rich-click>=1.9.0"]

This ensures users have a version of rich-click that supports the aliases parameter.

Environment

  • rich-click 1.9.0 added aliases support (September 2025)
  • Current rich-click version: 1.9.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions