BINORY_DOUBLE 유형 열이 있는 Oracle 데이터베이스를 반영하는 방법
기존 오라클 데이터베이스를 sqalchemy 메타데이터에 반영하려고 했습니다.
from sqlalchemy import create_engine
from sqlalchemy import MetaData
from sqlalchemy import Table
db_uri = 'oracle://USER:PASS@MYDBTNSNAME'
engine = create_engine(db_uri)
# create a MetaData instance
metadata = MetaData()
# reflect db schema to MetaData
metadata.reflect(bind=engine)
그러면 다음이 반환됩니다.
SAWarning: Did not recognize type 'BINARY_DOUBLE' of column 'column_1'(coltype, colname))
native type과 dialog oracle 에서 type을 가져오려고 노력했습니다.
from sqlalchemy.types import *
from sqlalchemy.dialects.oracle import *
그러나 그것은 인식하지 못하는 것 같습니다.BINARY_DOUBLE
유형
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-13-b69d481f6a4e> in <module>()
1 from sqlalchemy.types import *
----> 2 from sqlalchemy.dialects.oracle import *
AttributeError: module 'sqlalchemy.dialects.oracle' has no attribute 'BINARY_DOUBLE'
저는 SQL Lchemy 버전 '1.2.1'을 사용하고 있습니다.
db에서 기본 매핑 관계 재정의를 시도해 보셨습니까?그렇게
from sqlalchemy.dialects.oracle.base import BINARY_DOUBLE
group_table = sa.Table('groups', metadata,
sa.Column('your_column', BINARY_DOUBLE(asdecimal=True)),
autoload=True,
include_columns=[
'your_column',
'...'
],
)
아니면 그것을 가져오는 것.BINARY_DOBULE
부터sqlalchemy.dialects.oracle.base
댓글로 물어보고 싶은데, 방금 가입해서 그렇게 할 수가 없네요.
sqlalchemy changelog에 설명되어 있듯이 이 기능은 버전 1.2.8에 포함되어 있습니다.
[oracle] [bug] Added reflection capabilities for the oracle.BINARY_FLOAT, oracle.BINARY_DOUBLE datatypes
1.2.18 버전으로 확인했고 지금은 리플렉션이 작동합니다.
sqalchemy / DB 드라이버에서 잘 지원되지 않는 열 유형을 사용하려고 합니다.그러니 그런 타입은 피하세요.
(대략) SELECT * FROM base_table로 보기를 작성하고 이진 이중 열을 보다 편리한 숫자 유형으로 캐스팅합니다.그러면 뷰를 반영합니다.
언급URL : https://stackoverflow.com/questions/49450396/how-to-reflect-an-oracle-database-with-binary-double-type-columns
'programing' 카테고리의 다른 글
오라클 데이터베이스가 명령 프롬프트를 통해 .sql 파일 가져오기 (0) | 2023.09.21 |
---|---|
redis-server를 중지하려면 어떻게 해야 합니까? (0) | 2023.09.21 |
워드프레스 데이터베이스를 가져올 때 mySQL 1046 오류 (0) | 2023.09.21 |
.bat 파일에서 PowerShell 스크립트로 변수를 소싱하려면 어떻게 해야 합니까? (0) | 2023.09.21 |
자바스크립트가 있는 폴더의 파일 이름 목록 가져오기 (0) | 2023.09.21 |