繁体   English   中英

Ruby Rails rake数据库迁移无法正常工作或架构文件未更新

[英]Ruby Rails rake db migrate not working or schema file not updating

所以我在schema.rb上创建了一个新表,这是我输入的新代码行:

  create_table "book", :force => true do |t|
    t.integer  "user_id"
    t.string   "title"
    t.integer   "count"
  end

但是当我运行rake db:migrate命令schema.rb变成旧文件之后,当我打开它时,我的新create_table代码就没有任何想法了? 我是红宝石新手,谢谢!

我也尝试过这个:

rake db:drop:all
rake db:create:all
rake db:migrate

但schema.rb文件仍未更新为新文件。

schema.rb文件已生成,您对其进行的任何更改将在下次生成时消失。 在Rails中进行数据库更改的通常方法是使用迁移

切勿直接编辑您的schema.rb schema.rb是从数据库的当前状态自动生成的。

您应该为此创建一个迁移文件。

阅读活动记录迁移

您需要使用迁移,而不是直接修改架构。 永远不要直接修改schema.rb文件,因为下次迁移时,它将被覆盖。 Rails生成模式文件。 在终端中尝试以下操作:

rails generate model Book user_id:integer title:text count:integer

然后运行:

rake db:migrate

这应该可以解决您的问题。 现在,您允许Rails为您创建模型(这将生成迁移以创建新模型),然后进行迁移会更改数据库表。 看一下您的schema.rb文件后缀,它应该看起来正确。

有关模型生成器的更多信息,请在此处查看

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM