[英]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文件,因为下次迁移时,它将被覆盖。 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.