如何在 Rails 上完全删除 Ruby 上的数据库?

How to completely delete a DB on Ruby on Rails?

我在Rails app上有一个小Ruby,创建模型等等都出错了。

我怎样才能完全删除它的数据库?不是重置迁移或删除其表,而是删除所有与数据库相关的文件? (schema.rb, 等)

删除这些文件不会从您的系统中删除数据库。你不应该删除你的 schema.rb 因为它保存着你的数据库的结构。 (而且 不是 数据库自己记录。)如果您只是创建了一个新模型,Rails 不会自动创建一个数据库 table(迁移就是这样做的)。

如果您仍想删除整个数据库(结构数据),这是您需要的命令(在调用rake -T时找到)

rake db:drop  # Drops the database from DATABASE_URL or 
              # config/database.yml for the current RAILS_ENV 
              # (use db:drop:all to drop all databases)

默认情况下,未设置RAILS_ENV。如果您在此状态下调用 rake db:drop,将删除与此应用程序 关联的所有数据库 。为了下降,比如说,只有发展:

export RAILS_ENV=development
rake db:drop

您可以对 testproduction 环境执行相同的操作。

删除数据库

rake db:drop

然后创建数据库

rake db:create

对于迁移

rake db:migrate

种子

rake db:seed