12

저는 6 각형 아키텍처를 기반으로 레일즈 애플리케이션을 만들고 있습니다.레일 외부에서 ActiveRecord를 사용하는 방법?

내 어댑터 중 하나는 데이터베이스 액세스를 관리하는 저장소 어댑터 (보석으로 유지 관리)이며 데이터베이스에 데이터를 저장하고 쿼리하기위한 레일스 애플리케이션에 대한 간단한 인터페이스를 제공합니다.

데이터베이스 관리를 위해 rake 개의 작업 (작성, 마이그레이션, 삭제, 롤백)이 모두 포함 된이 보석에 ActiveRecord을 사용하고 싶습니다.

레일 외부에서 AR을 사용할 수 있지만 모든 레이크 작업은 어떻게합니까?

+1

[레일스 외부의 루비 스크립트에서 ActiveRecord를 사용하는 방법은?] (http://stackoverflow.com/questions/1643875/how-to-use-activerecord-in-a-ruby-script-outside- 레일) – Mogsdad

+0

당신이 뭔가를 원한다면. 다음은 그 예입니다. 번들을 실행하여 DB를 설치하고 마이 그 레이션합니다. 너 완료 됐어. 자세한 내용은 README를 참조하십시오. https://github.com/slindsey3000/ContactManager – slindsey3000

답변

18

하면 당신은 모두를 얻을이

ActiveRecord::Base.establish_connection(
    :adapter => 'mysql', 
    :database => 'database', 
    :username => 'user', 
    :password => 'password', 
    :host  => 'localhost') 

모델 다음 액티브에서 정상적으로 상속 할 수 있습니다 :: 자료

처럼 어딘가를 구성하는 다른 보석 그리고

gem install activerecord 

처럼 설치 레이크 작업이지만 레일이 없으므로 추가 구성을해야합니다. 여기에 그 물건을 구성하는 방법에 대한 activerecord의 링크가 있습니다.

Database tasks

+0

감사합니다! 그것은 내가 지금까지 가지고있는 것이다. 내 문제는 내 보석에도 데이터베이스를 관리하기위한 모든 '레이크 (rake)'작업을 수행하는 것입니다. – squixy

+0

다음은 예제 코드를 사용하여 유스 케이스를 논의하는 데 관련된 github 문제입니다. https://github.com/rails/rails/issues/11609 –

2

업데이트 된 솔루션은 standalone_migrations입니다. 기본적으로 젬에 대한 설정을하고 컨피규레이션을 생성 한 후에 모든 ActiveRecord에 접근 할 수 있습니다. 갈퀴 작업 포함!

또한 ActiveRecord에 액세스 할 수있는 간단한 스크립트 인 스카 폴딩 용 작은 생성기를 nrb - Ninja Ruby으로 만들었습니다.

관련 문제