我正在学习Ruby on Rails,创建数据库时遇到错误。我从控制台运行以下命令:
rake db:create db:migrate db:seed
得到:
== 20140328232600 AddAuthLevelToUser: migrating ===============================
-- add_column(:users, :auth_level, :Integer)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedTable: ERROR: relation "users" does not exist
我查看了网页上的错误消息,并尝试运行:
'bin/rake db:migrate RAILS_ENV=development'
如所建议的那样,但运气不佳。
我正在开发的项目是由另一个开发团队启动的,所以我把它从git中取出......有什么建议吗?
干杯
答案 0 :(得分:3)
根据错误,当您在数据库中没有AddAuthLevelToUser
表时,您正在运行迁移users
。
首先,验证您是否有users
表的迁移,如果没有,则创建一个。
如果是,请检查users
表格的迁移是否比AddAuthLevelToUser
的版本号低。修复它并运行迁移。
答案 1 :(得分:1)
首先尝试运行rake db:create
。您的项目使用什么数据库?解决此问题并使用数据库客户端连接到本地系统上的数据库,并验证数据库上是否存在users表。 db:create job可能无法正确创建数据库模式所需的所有表。