Rails 架构未随迁移而更新

Posted

技术标签:

【中文标题】Rails 架构未随迁移而更新【英文标题】:Rails schema not updating with migrations 【发布时间】:2016-04-10 19:22:17 【问题描述】:

每当我运行db:migrate 时,我的schema.rb 就不再更新。它将更新到最新版本,但我的迁移和评论中没有任何查询:

由于遵循 NoMethodError,无法转储表“游戏” nil:NilClass 的未定义方法“[]”

我不小心在控制台中手动删除了表,想知道是否有办法将我的架构重新同步到迁移?当我运行 rake db:drop db:create db:migrate 时,会生成完全相同的架构。

【问题讨论】:

问题是你提到的那个错误:你需要修复它。请在对您的问题的 EDIT 中包含该错误所指的代码。 【参考方案1】:

为了从架构中重新加载数据库,您应该运行:

$ rake db:schema:load

然后您可以执行待处理的迁移

$ rake db:migrate

【讨论】:

以上是关于Rails 架构未随迁移而更新的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails 迁移 - 创建新的数据库模式

Rails 迁移总是在模式中插入空格或更改列的顺序

如何编辑旧的 Rails 迁移以添加参考?

如何在rails上一次在多个不是主从关系的分片上执行rails db:迁移?

Rails迁移以将主键添加到现有表

如何通过 Rails 迁移克隆数据库表?