繁体   English   中英

Rails:使用脚手架后,无法迁移

[英]Rails: after using scaffold, I can't migrate

[导轨 4.1.6,红宝石 2.1.3p242]

1.设置database.yml database: bookshop ,并在我的数据库中创建了bookshop数据库。

2.通过SQL(我使用MySQL)创建一个id int(10), name varchar(45)的新表books

3.一切正常,我可以在浏览器中打开项目了。 在我输入rails g scaffold Book id:integer name:string ,事情变得有点奇怪,它运行成功。 但是,当我重新启动 rails 项目时,浏览器就出来了

“正在等待迁移。要解决此问题,请运行:bin/rake db:migrate RAILS_ENV=development”

  1. bin/rake db:migrate RAILS_ENV=development它显示

== 20141003105907 CreateBooks:迁移 ====================================== -- create_table(:books ) 耙子中止! 标准错误:发生错误,所有后来的迁移都被取消:

您不能重新定义主键列“id”。 要定义自定义主键,请将 { id: false } 传递给 create_table./usr/local/...

ID 字段默认添加到模型中 - 您不需要自己添加它们。

销毁您制作的脚手架,用rails destroy scaffold Book ,然后再次创建它 - 这次没有id:integer字段。

暂无
暂无

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

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