我一定是做错了。 我做了以下工作并且工作正常:
rake db:drop:all
rake db:create:all
但是我一做到了:
rake db:migrate
我明白了:
rake aborted!
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "users" does not exist
LINE 5: WHERE a.attrelid = '"users"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"users"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
当我跑步时:
rails db:
我明白了:
psql (9.4.4)
Type "help" for help.
db_development=# \d
No relations found.
有什么想法吗?我跑的时候也遇到同样的错误:
rake db:reset
答案 0 :(得分:1)
尝试:
rake db:migrate
在处理Rails项目时,无论是从某个远程存储库中克隆它还是从头创建它,首先要创建数据库:
rake db:create
然后是数据库表之间的关系:
rake db:migrate
您只能在开始时运行rake db:create
命令一次。之后,每次添加/更改迁移时,都应运行rake db:migrate
要查看所有可用的佣金任务,您可以使用:
rake -T
答案 1 :(得分:0)
尝试运行迁移以创建用户表
rake db:migrate
通过rake db:create,您将创建一个空白数据库,但要创建所有必须迁移它的关系
答案 2 :(得分:0)
尝试运行rake db:migrate
来创建缺失的表格。
答案 3 :(得分:0)
突击队员
rake db:create:all
只为您创建数据库。您需要运行迁移rake db:migrate
以将表和列添加到新创建的数据库中。
还有一个rake db:setup
命令:db:create,db:schema:load,db:seed,只有在你有一个模式时才有效。
您可以查看database.rake以查看所有可用命令。
答案 4 :(得分:0)
我意识到这是旧的,但这可能会有所帮助。
听起来好像错误来自实际上还没有任何用户(因为你克隆了应用程序)。
您可以尝试通过终端创建用户,也可以检查用户是否存在(
<% if user.present?%>
#then execute this code
<% end %>
)