Ruby on rails 设计生产过程中的迁移
我正在使用Desive 2.1.0。在德夫身上,一切都很好。我刚刚尝试了cap部署:迁移到我在EC2中设置的新服务器,然后在Desive迁移时出错。我使用的是运行ruby 1.9.3的rvm。我的数据库是MySql,它通过AmazonRDS运行。它出错的迁移是:Ruby on rails 设计生产过程中的迁移,ruby-on-rails,devise,capistrano,Ruby On Rails,Devise,Capistrano,我正在使用Desive 2.1.0。在德夫身上,一切都很好。我刚刚尝试了cap部署:迁移到我在EC2中设置的新服务器,然后在Desive迁移时出错。我使用的是运行ruby 1.9.3的rvm。我的数据库是MySql,它通过AmazonRDS运行。它出错的迁移是: def self.up change_table(:users) do |t| t.database_authenticatable :null => false t.recoverable t.rememberab
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”
我已经确认服务器上已经安装了Desive gem。我还尝试直接从服务器运行迁移,但失败了
有什么想法吗?我相信迁移方法
数据库\u authenticable
已经从designe中删除。它们在2.0中被弃用,在2.1中被删除
您必须明确地创建必需的字段。比如说
def self.up
change_table(:users) do |t|
t.string :email
t.string :encrypted_password
t.timestamps
end
请参阅设计维基 Desive 2.0删除了数据库迁移帮助程序,您需要自己列出数据库字段: