16
SQLAlchemy에 정의 된 모든 테이블에는 UUID 유형의 ID 열이 있습니다. UUIDtype
는 PostgreSQL의 UUID 유형에 대한 특별한 열 형식입니다SQLAlchemy를 사용하여 열 기본값을 PostgreSQL 함수로 설정하는 방법은 무엇입니까?
from sqlalchemy.ext.declarative import declarative_base
from uuid import uuid4
Base = declarative_base()
class MyTable(Base):
id = Column(UUIDtype, default=uuid4, primary_key=True)
. 이렇게하면 PostgreSQL에서 UUID 열을 성공적으로 만들지 만 SQLAlchemy를 사용하여 삽입 할 때만 기본 UUID 값을 생성합니다. 내 사용 사례 중 일부에 대해서는 문제가 없지만 SQLAlchemy 외부에서 삽입이 발생할 경우 PostgreSQL 측면에 열의 기본값을 할당하려고합니다.
컬럼에 SQL 명령 장소 다음 적절한 기본값 :
ALTER TABLE my_table ALTER COLUMN id SET DEFAULT uuid_generate_v4()
내가 SQLAlchemy의 모델 정의를 통해 열 기본값으로이
uuid_generate_v4()
기능을 할당 할 수있는 방법
? 단 하나의 옵션이 원시 SQL 문을 실행하는 것이라면 그 명령문 실행을 테이블 생성 프로세스에 연결하는 방법이 있습니까?
감사합니다. 그게 내가 필요한 것입니다. –
'uuid-ossp' 모듈을'create extension uuid-ossp'로 설치하십시오 – mozillazg
또는'uuid_generate_v4()'대신'gen_random_uuid()'를 사용하고''create extension pgcrypto''로''pgcrypto'를 설치하십시오. – mozillazg