2012-06-18 2 views
0

devise 2.1.0을 사용하고 있습니다. dev에, 상황은 훌륭합니다. 방금 캡 배포를 시도했습니다. EC2에서 새로운 서버로 마이그레이션하고 devise 마이그레이션에서 오류가 발생했습니다. 루비 1.9.3을 실행하면서 rvm을 사용하고 있습니다. 내 데이터베이스는 MySql이며 Amazon RDS를 통해 실행됩니다. 이에 잘못한다 마이그레이션은이 오류와생산에서 Devise가 마이그레이션을 중단합니다.

def self.up 
change_table(:users) do |t| 
    t.database_authenticatable :null => false 
    t.recoverable 
    t.rememberable 
    t.trackable 
end 

add_index :users, :email,    :unique => true 
add_index :users, :reset_password_token, :unique => true 

: 액티브 :: ConnectionAdapters에 대한 '`database_authenticatable 정의되지 않은 방법 : 테이블 : 내가 고안 보석이 확인했습니다 0x00000004eb8968

이미 서버에 설치되어 있습니다. 또한 서버에서 직접 마이그레이션을 실행하려고 시도했지만 실패합니다.

아이디어가 어떻게됩니까?

+0

Devise 2.0이 데이터베이스 마이그레이션 도우미를 제거 했으므로 데이터베이스 필드를 직접 나열해야합니다. https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.0-migration-schema -스타일 – pjumble

답변

1

마이그레이션 방법 database_authenticatable이 (가) 삭제되었습니다. 2.0에서는 사용되지 않으며 2.1에서는 제거되었습니다.

필수 필드를 명시 적으로 만들어야합니다. 예를 들어,

def self.up 
change_table(:users) do |t| 
    t.string :email 
    t.string :encrypted_password 
    t.timestamps 
end 

Devise wiki의 How To: Upgrade to Devise 2.0 migration schema style을 참조하십시오.

관련 문제