문제

각 사용자가 별도의 데이터베이스를 가지고 있는 레일스 애플리케이션이 있습니다.(이에 대한 Joel Spolsky의 조언을 따름)Rails 애플리케이션에서 DB 마이그레이션을 실행하여 이 사용자를 위한 새 데이터베이스와 테이블을 생성하고 싶습니다.

이를 수행하는 가장 쉬운 방법은 무엇입니까?

어쩌면 DB 마이그레이션이 이러한 유형의 작업에 가장 적합하지 않을 수도 있습니다.감사해요!


완전히 자동화된 프로세스라면 좋을 것 같습니다.다음 프로세스가 이상적입니다.

  1. 사용자가 이 웹 앱을 사용하기 위해 우리 사이트에 가입합니다.
  2. 이 사용자 데이터베이스를 생성하고 테이블을 올바르게 설정하기 위해 마이그레이션이 실행됩니다.

Ruby 애플리케이션에서 rake 작업을 호출하는 방법이 있나요?

도움이 되었습니까?

해결책

질문의 일부에 답하기 위해 Rails 코드 내부에서 rake 작업을 실행하는 방법은 다음과 같습니다.

require 'rake'
load 'path/to/task.rake'

Rake::Task['foo:bar:baz'].invoke

사용자당 하나의 데이터베이스를 가질 수 있는 방법(또는 이유)을 모르겠습니다.

다른 팁

우리는 각 사용자마다 별도의 구성 파일을 사용합니다.따라서 config/ 디렉토리에는 내 개인 데이터베이스에 연결되는 roo.database.yml이 있고 이를 Rails에서 사용하는 Database.yml 파일에 복사합니다.

우리는 개발자를 환경 변수로 지정할 수 있도록 레일 Rakefile을 확장하고 특정 datbase 구성을 선택하여 하나의 Database.yml 파일만 가질 수 있도록 생각하고 있었습니다.위의 방법이 충분히 잘 작동하기 때문에 우리는 이 작업을 수행하지 않았습니다.

실제로 저는 애플리케이션에서 DB 마이그레이션을 실행하는 좋은 방법을 발견했습니다.

ActiveRecord::Migrator. migration("db/마이그레이션/")

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top