Sqlalchemy, alembic, Postgresql
Json에서 리스트 데이터를 파싱 후, Postgresql에 넣어야 할 일이 생겼다.
리스트 데이터를 Postgresql에 적재하기 위해서는
Postgresql에서 선언한 테이블의 컬럼 타입을 sqlalchemy.ARRAY(<TYPE>)
로 사용해야한다.
나는 ['A','B','C']
와 같은 리스트 데이터를 Postgresql에 넣고 싶었고, sqlalchemy.ARRAY(sqlalchemy.TEXT())
로 컬럼을 생성했다.
PgAdmin에서 만들어진 컬럼을 확인하면, Type이 TEXT[]
로 생성된 것을 볼 수 있다.
하지만, 만든 컬럼에 리스트 데이터를 넣게되면, 생각과는 다르게 값이 들어가게 된다.
나는 ['A', 'B', 'C']
를 넣었지만, PgAdmin에서 확인결과는 {'A', 'B', 'C'}
와 같이 대괄호가 중괄호로
바뀌는 것을 볼 수 있다.
중괄호로 바뀌는 이유는 아래 링크를 참고하면된다.
하지만, sqlalchemy의 query 함수를 통해 해당 테이블의 컬럼을 조회하면, []
로 데이터가 정상 출력되는 것을 확인 할 수 있다.
sqlalchemy query 함수?
ex.)
from sqlalchemy.orm import Session
Session.query()
반응형
'Tech > Postgresql' 카테고리의 다른 글
[Postgresql] pg_dumpall 활용 경험 (0) | 2022.04.12 |
---|---|
Docker로 Postgresql 실행 시, 데이터베이스 자동 생성하기 (0) | 2021.09.15 |