Search
🌍

SQLAlchemy 1.0은 원래 ORM과 저수준 표현식 언어로 구분돼 있었다.

🚀 prev note
♻️ prev note
🚀 next note
♻️ next note
16 more properties
SQLAlchemy와 같은 데이터베이스 추상화 라이브러리(Database Abstraction Layer에 속한다고 봄)는 다양한 데이터베이스 백엔드들(MySQL, PostgreSQL, SQLite, Oracle 등)의 방언(dialect) 간 차이를 처리한다. SQLAlchemy는 과거에 (1.x 버전) 분리된 접근 방식을 취했다. SQL에 가까운 저수준 작업을 할 때는 select() 구문을 사용했고(Core (표현식 언어)), 객체 중심의 고수준 작업을 할 때는 session.query()를 사용했다(ORM)(ref1).
SQLAlchemy 2.0으로 넘어오면서 query() 대신 select()를 사용하는 "2.0 스타일"이 표준이 되었다. query() 사용 방식의 변화는 ORM의 사용 인터페이스가 바뀐 것이지, ORM의 핵심 개념인 '객체와 관계형 데이터베이스의 매핑'이 사라지는 것이 아니다. ORM이 내부적으로 사용하는 Core의 강력한 기능들을 더 직접적이고 일관된 방식으로 활용할 수 있게 되었다.
parse me : 언젠가 이 글에 쓰이면 좋을 것 같은 재료을 보관해 두는 영역입니다.
1.
None
from : 과거의 어떤 원자적 생각이 이 생각을 만들었는지 연결하고 설명합니다.
1.
앞의 글을 쓰는 과정에서 SQLAlchemy2.0이 존재한다는 사실을 알게 되었다. 대부분의 LLM이 SQLAlchemy1.0 코드를 출력하는 경향이 있기 때문이다.
supplementary : 어떤 새로운 생각이 이 문서에 작성된 생각을 뒷받침하는지 연결합니다.
1.
None
opposite : 어떤 새로운 생각이 이 문서에 작성된 생각과 대조되는지 연결합니다.
1.
None
to : 이 문서에 작성된 생각이 어떤 생각으로 발전되거나 이어지는지를 작성하는 영역입니다.
1.
None
ref : 생각에 참고한 자료입니다.