gpt4 book ai didi

ruby-on-rails - Rails 无法重置开发数据库

转载 作者:行者123 更新时间:2023-11-29 13:33:47 25 4
gpt4 key购买 nike

我尝试使用以下方法删除和重置开发中的数据库:rake db:drop db:create db:migrate 但由于某种原因它不起作用。现在,当我尝试运行该命令时,我得到:

FATAL:  database "myapp_development" does not exist
FATAL: database "myapp_test" does not exist
ERROR: relation "posts" does not exist at character 315
STATEMENT: 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 = '"posts"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum

如果我只尝试 rake db:create db:migrate 然后我得到错误

myapp_development already exists
myapp_test already exists
ERROR: relation "posts" does not exist at character 315...

如果我只运行 rake db:migrate 那么我只会得到错误的最后一部分:

PG::Error: ERROR:  relation "posts" does not exist
LINE 5: WHERE a.attrelid = '"posts"'::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 = '"posts"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum

我尝试重新启动我的数据库:pg_ctl stop -D/usr/local/var/postgres pg_ctl start -D/usr/local/var/postgres,但是没有用。

我在这个问题上完全停滞不前。有人知道如何重置和重新迁移数据库吗?

最佳答案

在 postgres 中经历了很多麻烦之后,事实证明这与数据库模式或 postgres 无关。

我只需要注释掉引用 Post 模型的 routes.rb 文件。注释掉 routes.rb 后,我运行迁移就好了,然后取消注释 routes.rb。

关于ruby-on-rails - Rails 无法重置开发数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17929808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com