当我去http://localhost:3000/时,我得到以下内容:
的ActiveRecord :: PendingMigrationError
迁移正在等待处理。要解决此问题,请运行:bin / rails db:migrate RAILS_ENV = development
摘录来源:
# Raises <tt>ActiveRecord::PendingMigrationError</tt> error if any migrations are pending.
def check_pending!(connection = Base.connection)
raise ActiveRecord::PendingMigrationError if ActiveRecord::Migrator.needs_migration?(connection)
end
def load_schema_if_pending!
此外,当我尝试访问控制台中的heroku run rake db:migrate
时,它说:
StandardError:发生了错误,此错误以及稍后的所有迁移 取消:PG :: DuplicateColumn:ERROR:关系列“email” “用户”已经存在
我是ruby的新手,并跟随Mackenzie Child的devise tutorial。这是我完成第一个ruby应用程序的最后一步。
我很兴奋,期待着你的帮助! :)
答案 0 :(得分:1)
在您的控制台中运行rake db:migrate
确保你在项目目录
答案 1 :(得分:0)
您使用设计生成器为User
模型准备迁移。您的模型之前已经存在并且已经有email
列。设计生成的迁移尝试创建相同的列,并且预计会失败,这就是您看到错误的原因:
PG :: DuplicateColumn:ERROR:关系“users”的列“email”已存在
要解决此问题,只需打开您的设计生成的迁移并删除看起来像这样的行:
t.string :email...
然后运行rake db:migrate
。
<强>更新强>
由于您的数据库似乎与您的迁移不同步,因此建议您从头开始重新创建它。
运行
rake db:drop db:create db:migrate
请注意,所有数据库数据都将被销毁。