[英]Can't migrate database after scaffold. Section 2.2 Ruby on Rails Tutorial Michael Hartl
[英]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”
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.