2013-11-27 1 views
-1

빠른 질문,이 질문에 대한 구체적인 답변을 찾을 수 없었습니다. 대답은 분명하기 때문에 나는 그것을 추측하고 있습니다.레일에 sqlite 대 postgreql

나는 레일즈 애플리케이션을 헤로 쿠로 밀어 넣기 위해서는 postgreql 데이터베이스가 필요하다는 것을 알고있다. 난 레일 기본 ​​데이터베이스 sqlite3 함께 일하고있다.

postgreql의 차이점은 무엇입니까? 내가 postgresql 데이터베이스와 함께 sqlite3 데이터베이스와 동일한 activerecord 호출 및 쿼리를 수행 할 수 있습니까?

+2

ActiveRecord 코드의 95 %가 동일합니다. 응용 프로그램이 매우 복잡하지 않으면 SQLite 특정 기능을 사용하지 않을 수도 있습니다. –

+2

@FarleyKnight : 타입 처리, LIKE의 대/소문자 구분 및'=','varchar (n)'열의 문자열 길이 처리, GROUP BY 동작, 날짜 및 대/소문자 구분은 데이터베이스간에 미묘한 차이가 있습니다. 시간 함수, 식별자의 대소 문자 구분, ... 앱이 사소한 것이라면 차이점이 너무 많이 아프지 않을 것입니다. SQLite를 기본 데이터베이스로 사용하는 것은 Rails 사람들이하는 바보 같은 마켓팅 결정이었습니다. –

+1

개발 환경에 PostgreSQL을 설치하고 개발 용 SQLite를 설치하십시오. 철저한 테스트 슈트가 있기를 바랍니다. –

답변

1

우선 Heroku에 배포하고 프로덕션 환경에서 PG를 사용하면서 개발 데이터베이스를 SQLite에 보관할 수 있습니다. 그것은 권장되지는 않지만 완전히 가능합니다. Michael Hartl의 튜토리얼을 살펴보면, 그는 실제로 그것을 보여줍니다 (here).

PG로 전환하는 것은 꽤 어렵습니다. 여기에 좋은 Railscast입니다. 또한 데이터베이스를 이주하는 f}을 보여줍니다. 예를 들어, strftime은 PG 쿼리에서 작동하지 않습니다. 쿼리에 몇 가지 문제점이 있습니다. 여기에 solution이 있습니다.

또한 PG 서버를 수동으로 시작해야합니다. 그 외에는

pg_ctl -D /usr/local/var/postgres -l logfile start 

당신이 거의 또는 전혀 문제가있을 것입니다, Postrgres 놀라운 도구이지만 포스트 그레스와 SQL 자습서의 부부 해치지 않을 것입니다.