我处在混乱的世界里。我在邮箱gem和它在我的架构中创建的表有一些问题,所以我评论了有问题的属性并重置了我的数据库。当我运行db:migrate时没有任何改变,所以我删除了表,重新创建它并重新进行迁移。架构尚未更新以反映已注释掉的属性。任何想法为什么?我现在在尝试rake db:migrate时出现错误消息,该消息中止并说:
PG::UndefinedTable: ERROR: relation "roles" does not exist : ALTER TABLE "roles" DROP "user_id"
我的架构有一个角色表,其中包含以下属性:
create_table "roles", force: true do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
t.integer "user_id"
end
我的文件中有一个迁移用于删除user_id:
class Removeuidfromrole < ActiveRecord::Migration
def change
remove_column :roles, :user_id, :integer
end
end
我不知道为什么它会因为错误而中止,告诉我删除用户ID,当我进行迁移时就这样做了。此外,为什么架构更新不能反映重新创建的db?