将设计gem添加到Rails 4 / mysql项目(表用户已经存在)

时间:2013-12-18 19:31:04

标签: devise ruby-on-rails-4 rake

我是Ruby,Rails,Rake,MySQL(在Ubuntu / bash /命令行上)和 devise (warden 1.2.3,设计3.0.4)的全新手。我必须继续完成迄今为止所做的工作:Rails 4项目正在工作并链接到MySQL数据库(完整,填充了用户和数据)。我可以更改控制器和视图。

我必须为项目添加设计。我正在读这个:https://github.com/plataformatec/devise。我的班级名称是用户。所以我做了rails generate devise User

当我rake db:migrate时出现此错误:Mysql2::Error: Table 'users' already exists: ...当然,因为我的项目中已经有 users 表。

无论我阅读什么(Devise with Rails 4),它始终是关于创建用户模型,而不是如何在预先存在的用户模型上插入设计。< / p>

我应该阅读什么文件?我必须编辑哪个文件来告诉设计“这是我的用户模型和表:”?

2 个答案:

答案 0 :(得分:1)

如果Ruby / Rails对你来说是全新的,那么你就迷失了......(就像我......)。

  • 在“/ yourproject / db / migrate /”中查找迁移文件 migration-name .rb)。此文件由rails generate devise User生成(用户可以通过任何模型生成,例如 UserAdmin 客户端。 ..)。该文件告诉您Devise将对数据库进行的修改(它需要什么)。

  • 仔细查看此文件,确保您的数据库符合要求。如果您运行rake db:migrate rake将尝试修改您的数据库。也许这是您的错误(尝试创建表User,因为您的表已经创建了User)。

  • 修改您的迁移文件。您也可以手动更改数据库并删除迁移文件(如果您不想跟踪迁移);在最后一种情况下,当然,您不必运行 rake 命令。

答案 1 :(得分:0)

按照设计getting-started guide智能在必要时将手动步骤应用到您当前的项目中。

https://github.com/plataformatec/devise#getting-started