我正在使用设计2.1.0。在dev上,事情很棒。我只是尝试进行上限部署:迁移到我在EC2中设置的新服务器,并在设计迁移时犯错误。我正在使用rvm和ruby 1.9.3运行。我的数据库是MySql,它通过Amazon RDS运行。它错误的迁移是:
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
端
出现此错误:ActiveRecord :: ConnectionAdapters :: Table:0x00000004eb8968
的未定义方法`database_authenticatable'我已经确认已经在服务器上安装了devise gem。我也尝试直接从服务器运行迁移,但它失败了。
有什么想法吗?
答案 0 :(得分: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。