【发布时间】:2017-11-16 15:45:31
【问题描述】:
我遇到了一个问题,我不知道如何解决这个问题。正在创建一个 Rails 视图,在填充我的视图并编辑我的控制器之后,我遇到了一个错误,指出 PG::UndefinedTable: ERROR: relation 'caves' does not exist
查看我所做的,我意识到我将模型创建为 cafe,但是当我填充我的架构表时,我不小心创建了一个名为 caves 而不是 cafes 的表。
这是我试图解决这个问题的方法。
- 我第一次尝试创建迁移只是将表从
caves重命名为cafes-- 仍然遇到同样的错误 - 然后我尝试一起删除架构表并一起创建一个名为
cafe的新架构表 - 仍然遇到同样的错误 - 然后我尝试将我的数据库全部删除,想着我是否只是擦除了整个内容并重新开始(我刚刚开始使用这个 Rails 项目)。我跑了
rake db:reset只是遇到一个新错误告诉我ActiveRecord::StatementInvalid: PG::ObjectInUse: ERROR: database "cafe_database" is being accessed by other users - 此时,我尝试重新启动我的 postgress 并运行
sudo service postgresql restart....但我的机器无法识别service
有人知道我可以做些什么来解决这个问题吗?我的想法不多了。
【问题讨论】:
-
首先,确保没有打开其他数据库会话。然后尝试@puneet 提到的内容。
-
如何检查是否没有其他打开的数据库会话?这是通过运行
ps -aef | grep rails并杀死任何 xtra pid 来完成的吗? -
手动检查所有
rails c、rails s、命令行psql会话等并关闭它们。如果您仍然遇到问题,请查看devopsderek.com/blog/2012/11/13/…
标签: mysql ruby-on-rails ruby postgresql