我先跑:rails generate model User name:string email:string
,这将创建一个迁移。后来我执行了一个db:migrate
,并得到以下错误:
bundle exec rake db:migrate
== 20150728195629 CreateUsers: migrating ======================================
-- create_table(:users)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: table "users" already exists.....
当您执行generate model
时,将创建表user
,但当您执行rake db:migrate
时,它将尝试再次创建它。
我糊涂了!我做错什么了吗?
https://www.railstutorial.org/book/modeling_users#code-generate_user_model
4条答案
按热度按时间jc3wubiy1#
直接进入控制台
然后输入
然后退出控制台并
2izufjch2#
你一定是按照Marsatomic的说法创建了一个表。运行
然后查看迁移历史记录,看看是在哪里创建的。如果看到了,可以回滚迁移,删除创建它的迁移文件,然后重新运行迁移。如果没有看到,则一定是在没有迁移的情况下创建了这个表。此时,您应该按照Marsatomic在上面的评论中的指示进行操作。
q3aa05253#
您可以使用'db:reset',它== 'db:删除db:创建db:迁移'
kyks70gy4#
直接进入控制台
直接进入控制台