首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的schema.rb文件没有更新?

为什么我的schema.rb文件没有更新?
EN

Stack Overflow用户
提问于 2016-08-16 03:17:37
回答 1查看 2.1K关注 0票数 1

我最近查看了我的schema.rb文件,惊讶地发现数据库中确实存在的某些列没有出现,并且一些表完全丢失了。缺失的列是通过"def change add_column“迁移添加到数据库中的,尽管以这种方式添加的一些列在schema.rb中确实按预期显示。

仔细检查后,我意识到自从我创建了Users表之后,schema.rb就没有更新过。

20151019205241_create_users.rb:

代码语言:javascript
复制
class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :name
      t.string :email
      t.timestamps null: false
    end
  end
end

在实践中,这对我来说并不是问题,但我认为schema.rb应该保持自动更新,为了重新创建数据库,更新它是很重要的。有人能帮我弄清楚为什么它不会更新吗?

一种可能性是,当我将数据库从sqlite3切换到PostgreSQL时,它停止了更新。我记不清了,但我认为时机是有道理的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-16 05:03:21

您可以使用rake db:schema:dump从当前数据库结构重新创建文件。

模式文件独立于驱动程序,因此从sqlite3迁移到PostgreSQL应该无关紧要。确保文件中定义的version不大于当前日期。您还可以将整个文件添加到问题的片段中。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38961558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档