2017-04-11 6 views
0

배경두 모듈간에 데이터베이스 모델을 공유하는 방법은 무엇입니까?

나는 현재 AWS Elasticbeanstalk에서 호스팅되는 파이썬에서 웹 프로젝트를 진행하고있다. 우리는 두 가지 배포 가능한 웹 앱을 보유하고 있습니다. 프런트 엔드 플라스크 애플리케이션 및 백 엔드 플라스크 애플리케이션. 구조적으로 두 사람은 동일한 자식 저장소에 있지만 배포 할 때마다 서버에 게시 할 수있는 .zip 파일을 생성하기 위해 개별적으로 아카이브됩니다.

--project/ 
    --front/ 
    --back/ 

두 솔루션 모듈 모두 데이터베이스와 통신해야합니다. ORM sqlalchemy를 사용하기로했습니다. 이 ORM을 통해 데이터베이스의 테이블을 나타내는 모델 (파이썬 클래스)을 만들 수 있습니다.

ISSUE

내 문제는 이것이다. 두 모듈 모두에서 모델을 사용할 수 있어야합니다. 현재 각 하위 폴더에있는 모델을 보유하고있는 파일의 사본이 있습니다. 이렇게하면 파일을 동기화하는 데 많은 문제가 발생할 수 있지만 저장소에 중복 코드가 많이 추가됩니다. 나 자신이 더 많은 경험을 가진 누군가가 더 나은 해결책을 제시 할 수 있기를 바랬다.

답변

1

는이 같은, 당신의 모든 모델 (및 공유 라이브러리)를 가지고 common 폴더를 추가 할 수 있습니다

--project/ 
    --front/ 
    --common/ 
    --back/ 

는 그런 다음 두 개의 폴더 front/ 예를 들면 common/를 배포합니다.

이렇게하면 하나의 Zip 파일에 두 개의 폴더를 압축하거나 두 개의 Zip 파일을 사용할 수 있습니다.

+0

이것은 내가 찾은 최고의 솔루션 인 것처럼 보이지만 내 빌드/배포 프로세스가 오래 걸리지 만 코드가 줄어들어 복제 할 가치가 있습니다. –