Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

TypeError when using Enum columns with the Databricks dialect (all 2.0.x releases)

Đang mở Phù hợp với người mới
#61 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

@TangoEnSkai đang làm issue này rồi.

Từ ngày 23/8/2026.

  • #76 của @TangoEnSkai — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
70/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
python, sqlalchemy
Lĩnh vực
databases

Hướng nghiên cứu

Bắt đầu với DatabricksStringType và lần theo đường dẫn SQLAlchemy's Enum.adapt() được mô tả trong issue. Chạy bản tái hiện DeclarativeBase được cung cấp trên một engine Databricks, sau đó xác minh rằng việc tạo metadata với cột Enum hoàn tất mà không gặp _enums TypeError.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Description

Any SQLAlchemy operation that involves an Enum-typed column with the Databricks dialect raises:

TypeError: String.__init__() got an unexpected keyword argument '_enums'

Steps to reproduce

 from sqlalchemy import create_engine, Column, Enum
 from sqlalchemy.orm import DeclarativeBase
 
 class Base(DeclarativeBase):
     pass
 
 class MyTable(Base):
     __tablename__ = "my_table"
     status = Column(Enum("A", "B", "C"), nullable=False)
 
 engine = create_engine("databricks://...")
 Base.metadata.create_all(engine)

Root cause

databricks-sqlalchemy registers DatabricksStringType as the colspec for sqlalchemy.String in the Databricks dialect. When SQLAlchemy adapts an Enum column (via Enum.adapt()), it internally passes _enums as a keyword argument to the target type's constructor. DatabricksStringType.__init__() does not accept **kwargs or _enums, causing the crash.

Environment

Affected versions: 2.0.1 – 2.0.9
SQLAlchemy: 2.0.x

Related issues

  • #32 - No JSON colspec, CompileError at DDL compile time
  • #37 - No INTERVAL colspec, Silent missing feature
  • This issue - Enum colspec exists but target class rejects _enums kwarg
Ngôn ngữ chính
Python
Star
24
Fork
20
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của databricks/databricks-sqlalchemy

Tất cả issue của databricks/databricks-sqlalchemy

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.