콘텐츠로 이동

sqlalchemy-cubrid

SQLAlchemy 2.x 용 CUBRID dialect

sqlalchemy-cubrid는 Python에서 CUBRID 객체-관계형 데이터베이스에 대한 완전한 접근을 제공하는 SQLAlchemy dialect 플러그인입니다. pycubrid 순수 Python 드라이버를 통해 CUBRID 10.2부터 11.4 버전까지 지원합니다.

주요 기능

  • SQLAlchemy 2.x 완벽 호환 -- 최신 SQLAlchemy API, ORM, Core와 함께 사용할 수 있습니다
  • DDL 생성 -- CREATE/DROP TABLE, AUTO_INCREMENT, SERIAL (시퀀스), 인덱스 (UNIQUE, REVERSE, FILTERED, FUNCTION 기반), 테이블/컬럼 코멘트
  • 완전한 타입 시스템 -- ENUM, JSON, 컬렉션 타입 (SET, MULTISET, LIST), 밀리초 정밀도 DATETIME을 포함한 모든 CUBRID 타입 매핑
  • CUBRID 전용 DML -- INSERT ... ON DUPLICATE KEY UPDATE, REPLACE INTO, FOR UPDATE OF, TRUNCATE TABLE
  • 계층적 쿼리 -- Oracle 스타일의 CONNECT BY / START WITH / ORDER SIBLINGS BY, ROWNUM 의사 컬럼
  • MERGE 구문 -- MERGE INTO ... USING ... ON ... WHEN MATCHED (UPDATE / DELETE) / WHEN NOT MATCHED, 조건부 WHEN 절
  • 객체-관계형 기능 -- 클래스 상속 (UNDER), OID 참조 및 경로 표현식 역참조
  • 컬렉션 타입 -- CubridSet, CubridMultiset, CubridList와 자동 바이너리 포맷 파싱
  • 클릭 카운터 -- INCR() / DECR() 원자적 카운터 함수
  • 내장 함수 -- NVL, NVL2, DECODE, IF, IFNULL, GROUP_CONCAT
  • REGEXP 연산자 -- CUBRID의 REGEXP / RLIKE를 위한 column.regexp_match() 지원
  • 파티셔닝 -- RANGE, HASH, LIST 파티션 DDL 지원
  • DBLINK -- CREATE SERVER 및 DBLINK()를 통한 원격 데이터베이스 접근 (11.2+)
  • CAST 타입 매핑 -- CAST(x AS TEXT)가 CUBRID 호환을 위해 자동으로 CAST(x AS STRING)으로 변환
  • 인트로스펙션 -- 테이블, 뷰, 컬럼, 인덱스, 외래 키 (ON DELETE/UPDATE 액션 포함), 시퀀스, 코멘트, 상속, OID 컬럼에 대한 완전한 Inspector 지원
  • Alembic 통합 -- 컬렉션 타입 렌더링 및 비교를 포함한 마이그레이션 지원
  • 쿼리 추적 -- 성능 분석을 위한 내장 SET TRACE ON / SHOW TRACE 래퍼
  • 연결 관리 -- 격리 수준, 연결 풀링, ping, 연결 끊김 감지

빠른 설치

pip install git+https://github.com/search5/sqlalchemy_cubrid.git

또는 Poetry를 사용하는 경우:

poetry add git+https://github.com/search5/sqlalchemy_cubrid.git

빠른 시작

from sqlalchemy import create_engine, text

engine = create_engine("cubrid://dba:@localhost:33000/testdb")

with engine.connect() as conn:
    result = conn.execute(text("SELECT 1 FROM db_root"))
    print(result.scalar())  # 1

문서

섹션 설명
시작하기 설치, Docker 설정, 첫 연결
연결 엔진 URL, 격리 수준, 풀링
타입 CUBRID와 SQLAlchemy 간의 타입 매핑
DDL 테이블, 시퀀스, 인덱스, 코멘트
DML INSERT ON DUPLICATE KEY, REPLACE, FOR UPDATE
쿼리 계층적 쿼리, MERGE, 클릭 카운터
CUBRID 기능 컬렉션, 상속, OID 참조
인트로스펙션 Inspector 메서드 및 리플렉션
Alembic 마이그레이션 지원 및 쿼리 추적
제한 사항 알려진 제한 사항 및 테스트 스위트 결과

링크

라이선스

MIT License. 자세한 내용은 LICENSE를 참조하십시오.