将devise gem添加到一个Rails 4 / mysql项目中(表users已经存在)
将devise gem添加到一个Rails 4 / mysql项目中(表users已经存在)
我是一个完全不熟悉Ruby、Rails、Rake、MySQL(在Ubuntu/bash/command line上)和devise(warden 1.2.3,devise 3.0.4)的新手。我必须继续完成到目前为止的工作:Rails 4项目正在运行,并连接到一个MySQL数据库(已经有用户和数据)。我能够更改控制器和视图。
我必须将devise添加到项目中。我正在阅读这个:https://github.com/plataformatec/devise 。我的类名是User。所以我执行了rails generate devise User
。
当我执行rake db:migrate
时,出现了这个错误:Mysql2::Error: Table 'users' already exists: ...
当然了,因为我已经在项目中有一个users表了。
无论我读了什么(Devise with Rails 4),总是关于创建User模型,而不是如何在现有的User模型上插入devise。
我应该阅读哪个文档?我应该编辑哪个文件来告诉devise“这是我的用户模型和表格”?
问题出现的原因是在Rails 4 / mysql项目中添加devise gem时,已经存在名为"users"的表,导致出现错误。解决方法是查找migration文件(位于"/yourproject/db/migrate/"目录下的
问题出现的原因:
根据提示,问题的原因是在将Devise gem添加到Rails 4 / mysql项目时,users表已经存在。猜测是在创建新的模型时,没有删除旧的迁移。
解决方法:
根据提示,可以按照Devise的"getting-started guide"进行操作,需要根据实际情况智能地应用手动步骤到当前项目中。另外,可以将Devise添加到现有的模型中,而不是创建新的模型。猜测是因为创建了新的模型,但没有删除旧的迁移。
参考链接:[https://github.com/plataformatec/devise#getting-started](https://github.com/plataformatec/devise#getting-started)