Skip to content

sqlalchemy.exc.CompileError: Postgresql ENUM type requires a name. #3

@item4

Description

@item4

제 영어가 매우 불량함을 감안하여 한글과 함께 병기합니다.
(I think my poor english is not good for reader, so I write Korean together.)

Code sample

class Purpose(enum.Enum):

    normal = 'normal'
    index_only = 'index_only'
    representative_only = 'representative_only'


class Image(Base):

    # blabla

    purpose = Column(EnumType(Purpose), nullable=False)

MySQL, SQLite, PgSQL 3가지 DBMS에서 실험해본 결과 PgSQL만 EnumType에 name 인자를 필요로 합니다. (by_name 말고)
(I tested on MySQL, SQLite, PgSQL and only PgSQL must require name parameter, not by_name)

저처럼 삽뜨는 사람이 없도록 다음 중 한 가지 방법을 취하는 건 어떨까 합니다.
(I suggest get some action for people.)

1. auto-filling

if name is None:
    name = enum_class.__name__

2. write in docs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions