ruby-on-rails - Rails : after using scaffold, 我无法迁移

标签 ruby-on-rails scaffold

[ rails 4.1.6, ruby 2.1.3p242]

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

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

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:迁移 ====================================== -- 创建表(:书籍) rake 中止! StandardError:发生错误,所有后续迁移均已取消:

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

最佳答案

ID 字段默认添加到模型中 - 您无需自己添加。

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

关于ruby-on-rails - Rails : after using scaffold, 我无法迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26178299/

相关文章:

ruby-on-rails - 如何调用模块中的类特定方法

ruby-on-rails - 过滤器链因强制 SSL 呈现或重定向而停止

flutter - 带有 Scaffold 的 InheritedWidget 似乎无法正常工作

dart - 高程不适用于 flutter Material

ruby-on-rails - 作为可安装引擎的 spree

ruby-on-rails - 自动为现有数据库生成API

android - 将android客户端连接到rails服务器

dart - 更改 Scaffold.body 值后如何在 flutter 中隐藏抽屉

flutter - 为什么 TextEditingController 不能正常工作?

css - 如何通过 rails 框架使用 twitter bootstrap 显示漂亮的错误消息?