2010-04-26 4 views
4

내 모든 테스트를 위해 sqlite 메모리 데이터베이스를 사용하고 개발/프로덕션 서버를 Postgresql로 사용하려고합니다.SQLAlchemy - 테스트 용 SQLite와 개발 용 PostgreSQL - 어떻게 포트합니까?

그러나 SQL 구문은 두 dbs에서 동일하지 않습니다. 예 : SQLite에 자동 증가가 있고 PostgreSQL에 직렬이 있습니다

sqlite에서 postgresql으로 SQL 스크립트를 이식하는 것이 쉽습니다 ... 당신의 솔루션은 무엇입니까?

표준 SQL을 사용하려면 두 데이터베이스 모두에서 기본 키를 생성해야합니다.

+3

아마 제일 :(곧

우리를 넘어 이제 이동을 할 몇 가지 항목을 .... 지적 소프트웨어 비용은 $ 20,000,000이며 동일한 가격으로 테스트 데이터베이스를 구입할 여력이 없습니다.하지만 PostgreSQL의 무료 오픈 소스 소프트웨어를 사용하고 있으며 묻고있는 것을 할 이유가 없거나 논리적 인 이유가 없습니다. – Kuberchaun

답변

10

하지 마십시오. 한 환경에서 테스트하지 말고 다른 환경에서 릴리스 및 개발하십시오. 이 프로세스를 사용하여 버그가있는 소프트웨어를 묻습니다.

17

내 제안은 다음과 같습니다. Postgresql의 기능은 특히 날짜/숫자 지원, 함수 및 저장 프로 시저, ALTER 지원, 제약 조건, 시퀀스, UUID와 같은 다른 유형의 영역에서 SQLite가 제공 할 수있는 것 이상이며 심지어 다양한 SQLAlchemy 트릭을 사용해보십시오 저것을 부드럽게하는 것은 당신에게 조금 더 멀리 나아갈 것입니다. 특히 날짜와 간격 산술은 두 플랫폼에서 완전히 다른 짐승이며, SQLite는 PG와 같은 정밀 소수 (부동 소수점)를 지원하지 않습니다. PG는 모든 주요 OS에 설치하기가 매우 쉽고 그 길로 가면 인생이 훨씬 쉽습니다.

+1

동의 함, Postgresql을 쉽게 설정할 수 있습니다. 모든 플랫폼에서 개인 개발을 위해 다른 데이터베이스를 사용할 이유가 없습니다. 심지어 Windows 서비스가있어 불을 피우고 잊을 수 있습니다 .pgAdminIII는 매우 강력한 G입니다. 데이터베이스를 쉽게 설정할 수있는 UI 관리 도구. – Geoff

+2

나는 개발을 위해 sqlite와 프로덕션을 위해 postgresql을 시도한 적이있다. 그것은 고통과 고통을 초래했습니다. – kanzure

4

테스트 환경에서 sqllite로 시작했지만 우리는 각 개발자마다 포스트그레스를 심각하게 생각하고 있습니다. 우리는 우리 unittests에 대해 실행되는 테스트 데이터베이스를 구축하는 스크립트를 가지고 있고 우리는 devs가 사용하는 '개발'버전이 있습니다.

ramdisk에서 '메모리에있는'포스트그레스를 실행하는 방법을 조사했지만,이 토론에서는 : http://dbaspot.com/forums/postgresql/395602-memory-postgresql-database.html은 필요 없다고 제안했습니다.

아직 문제가 발생하지 않았지만 아직 개발 초기 단계이므로 우리는 아직 아무 것도하지 않아도됩니다.

zzzeek 프로덕션 데이터베이스의 경우에도이 고려 왜 나는 어쩌면 그냥 어쩌면 볼 수