2017-03-17 1 views
0

ActiveRecord를 사용하여 데이터베이스를 설정하고있는 Sinatra 앱이 있습니다.Sinatra가 schema.rb 대신에 struct.sql을 사용하도록 구성하는 방법은 무엇입니까?

이 데이터베이스의 단점 중 하나 (즉, 문자열 기본 키)로 인해 Ruby (schema.rb) 대신 SQL 스키마 (structure.sql)를 사용하고 싶습니다. 이렇게하면 특정 데이터베이스의 맛을 사용하는 것에 신경 쓰지 않아도 어쨌든 Postgres를 사용할 수 있습니다.

레일에서이를 수행하려면 config.active_record.schema_format = :sqlconfig/application.rb에 넣으십시오. 시나 트라에서 어떻게 똑같은 일을합니까?

+0

이것은 Sinatra 질문이 아니며 ActiveRecord 질문 일 것입니다. Sinatra는 무고한 구경꾼입니다. –

+0

당신은 Padrino를 사용하여 보길 원할 것입니다. Sinatra 위에 있지만 Rails와 유사한 생성기와 도우미가 많이 있습니다. Sinatra는 훌륭하고 DBM으로 작업 할 수 있지만 더 많은 코드를 작성하게됩니다. –

+0

이것은 Sinatra에 대한 질문입니다. Sinatra에는 Rails 프레임 워크에서 (위에서 언급 한 것처럼) 수행하는 방법을 쉽게 찾을 수 있지만 Sinatra에는 적용되지 않습니다. 그렇지 않을 경우 _make_ 많은 수동 설정이 필요합니다. 대다. – PJSCopeland

답변

0

Sinatra를 사용하여 손쉽게 데이터베이스를 구성 할 수 있습니다. 우리는 ActiveRecord Migrations를 사용하는 대신에 MySQL에 테이블을 구축하고자합니다.

당신은 대신에 발전기를 사용하는 손으로 데이터베이스 모델을 만들어야합니다 그리고 당신은 당신의 연결을 관리하려면이 줄을 추가 할 것입니다 :

ActiveRecord::Base.establish_connection(database_settings) 

이 매우 용이하다. 일반적으로 YAML 파일의 설정을 읽습니다. 자동화 된 테스트를 작성하고자 할 때 복잡해집니다. 여기에 how to set up automated tests with Sinatra, MiniTest, and ActiveRecord에 대해 쓴 블로그가 있습니다.

+0

Sinatra를 설정하지 않으려는 경우 ActiveRecord를 설정합니다. Sinatra는 URL을 처리하기위한 DSL 일뿐입니다. –

관련 문제