반응형

2022/01 3

sql 쿼리 Join시 카테시안 곱 주의(with sqlAlchemy)

보통 JOIN 시에 조건을 주지 않았을 때 발생한다고 한다. 상식적으로 생각해봐도 JOIN 조건이 없다면 기준이 되는 테이블(Outer Table)과 대상 테이블(Inner Table) 간에 관계가 만들어지지 않는다. postgresql 쿼리에서 JOIN 문이 ON 조건없이 조인을 할 수 없으며, 위 내용의 조건이란 다음과 같은 쿼리를 의미한다. 조건없는 조인SECLECT * FROM Table1, Table2; 조건있는 조인SELECT * FROM Table1, Table2 WHERE TABLE1.id = TABLE2.id; 위 예의 조건없는 조인과 같이 관계(WHERE)가 만들어지지 않은 채로 JOIN을 하게 되면 Error가 발생하지 않고 양 테이블의 row간에 대카테시안 곱의 방식의 결합이 일어난..

react-native-reanimated 에러관련 기록

react-navigation/drawer 6.1.6 를 사용할 때 react-native-reanimated 2.x.x 을 설치하면 warning 메세지가 뜬다. 2.x.x 버전 사용을 위해 추가 설정을 하라는 메세지다. 공식페이지 에 가보면 버전별 설정 방법이 나와있으면 그렇게 어렵지 않다. 2.x.x 번대를 설치하고 drawer를 잘 구성하고 debug 모드로 테스트까지 잘 끝났다고 방심하면 안된다. 우리를 release 버전이 제대로 돌아가는지도 테스트해야한다. react-native가 참 개발이 좋게 되어 있지만 이렇게 release 모드에서 앱이 실행시 런타임에러가 나면서 앱이 종료되는 경우가 많이 생긴다. 그래서 라이브러리를 설치한 후에는 반드시 release 모드로 제대로 앱이 빌드되는지 ..

sqlAlchemy, Foreign Key, relationship, remote_side 정리

문서가 너무 방대해서 다 이해하지 못한채로 대략 정리한다. sqlAlchemy는 컬럼에 Foreign Key를 설정한 후 orm을 위한 관계 설정을 relation 함수로 한다. relation 함수는 기본적으로 Foreign Key는 한개로 가정하므로 Foreign Key 설정된 컬럼을 지정할 필요가 없다. 그러나 테이블 내에서 Foreign Key를 2개이상 사용할 경우는 지정해야한다. 지정하는 방법은 relation 함수에서 primaryjoin 설정 또는 foreign_keys 를 설정하는 방법인 듯 하다.참조, 2개 이상의 Foreign key remote_side는 자기참조 관계에서 primary key 지정에 사용되는 것 같다. 지정은 반드시 "자신의모델(클래스명).primaykey컬럼" 을..

반응형