【问题标题】:Rails unable to reset development databaseRails 无法重置开发数据库
【发布时间】:2013-07-29 14:00:29
【问题描述】:

我尝试在开发中删除并重置我的数据库: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/postgrespg_ctl start -D /usr/local/var/postgres,但无济于事。

我在这件事上完全停滞不前。有人知道如何重置数据库并重新迁移吗?

【问题讨论】:

标签: ruby-on-rails postgresql activerecord database-migration


【解决方案1】:

在 postgres 中遇到很多麻烦后,事实证明这与数据库架构或 postgres 无关。

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

【讨论】:

  • 如果可以的话,我会给你 1000 票。我的互联网连接在 db:pull 期间中断,导致后续尝试删除和重新开始时出现一些奇怪的 postgres 错误。就是这样!
猜你喜欢
  • 2016-01-26
  • 1970-01-01
  • 2016-12-15
  • 1970-01-01
  • 2021-09-16
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多