【发布时间】:2015-03-06 19:18:32
【问题描述】:
有效的命令:
- rake db:迁移
- rake db:rollback
- 耙分贝:种子
不适用的命令:
- rake db:drop
- rake db:drop:all
- rake db:migrate:reset
- rake db:purge
如果我使用 db:rollback 的次数足够多(或使用 STEP),我的数据库会成功删除,但在我使用 db:drop / db:drop:all 时不会。 db:migrate:reset 和 db:purge 保留所有数据不变。使用跟踪运行、查看 development.log、系统日志并通过数据库监视器查看数据库查询(这些命令似乎没有运行 SQL 查询。)也没有错误。
跑步:
- Rails 4.2
- postgres 9.4
- CentOS 7
【问题讨论】:
-
您正在修改的数据库是否有任何打开的连接?如果有打开的连接,PG 不会删除数据库。
-
@PhilipHallstrom 不,我不知道。即使我在启动数据库后立即发出命令也会发生这种情况(它也是一个单用户本地虚拟机,没有其他任何东西在运行。)
-
我有同样的问题,当我将 database.yml 更改为 SQLite 时,它会重新创建数据库并更新 schema.rb。当我连接到 Postgres 时,它什么也不做。这不是数据库中另一个会话的问题(我已经调查过),这是不同的。作为J B,我根本看不到任何输出。
标签: ruby-on-rails database postgresql