我是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>
我应该阅读什么文件?我必须编辑哪个文件来告诉设计“这是我的用户模型和表:”?
答案 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
,智能在必要时将手动步骤应用到您当前的项目中。