Skip to content

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

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions