sqlalchemy-enum34 icon indicating copy to clipboard operation
sqlalchemy-enum34 copied to clipboard

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

Open item4 opened this issue 8 years ago • 0 comments

제 영어가 매우 불량함을 감안하여 한글과 함께 병기합니다. (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

item4 avatar Mar 04 '16 22:03 item4