我有一个充满数据的Ruby on Rails开发数据库。我想删除所有东西,重建数据库。我正在考虑使用类似的东西:

rake db:recreate

这可能吗?


当前回答

使用像

rake db:drop db:create db:migrate db:seed

都在一行里。这更快,因为环境不会一次又一次地重新加载。

drop -删除数据库。

数据库:create -将创建数据库(主机/ Db /密码将从config/database.yml中获取)

Db:migrate -将从目录(Db /migration/.rb)*运行现有的迁移。

Db:seed -将在目录(Db /migration/seed.rb)中运行种子数据。

我通常喜欢:

rake db:reset

一下子做所有的事。

干杯!

其他回答

我使用:

删除数据库。 Rails db:create根据config/database.yml创建数据库

以上命令可能替换为rails db:reset。

不要忘记运行rails db:migrate来运行迁移。

您可以使用以下命令行:

rake db:drop db:create db:migrate db:seed db:test:clone

根据你想要的,你可以使用…

rake db:创建

从config/database中从头构建数据库。yml,还是……

rake db:模式:负载

根据您的模式从头构建数据库。rb文件。

你可以使用 Db:reset -用于运行Db:drop和Db:setup或 Db:migrate:reset -运行Db:drop, Db:create和Db:migrate。

依赖于你想要使用现有的模式

在Rails 4中,所需要的是

$ rake db:schema:load

这将删除您的DB上的全部内容,并根据您的模式重新创建模式。Rb文件,而不必逐一应用所有迁移。