Rails - rake db:重置不清除我的数据库

时间:2013-05-31 14:49:46

标签: ruby-on-rails ruby rake

这里是rails的新手,并尝试使用db \ seeds.rb文件等

首先,我想使用rake db:reset清除数据库中的所有数据,但它无效!

这是我的输出

C:\Sites\sportproject>rake db:reset
Couldn't drop db/development.sqlite3 : #
db/development.sqlite3 already exists
-- create_table("sports", {:force=>true})
   -> 0.0640s
-- create_table("teams", {:force=>true})
   -> 0.0340s
-- add_index("teams", ["sport_id"], {:name=>"index_teams_on_sport_id"})
   -> 0.0160s
-- initialize_schema_migrations_table()
   -> 0.0000s
-- assume_migrated_upto_version(20130531012951, ["C:/Sites/sportproject/db/migra
te"])
   -> 0.0000s

然后我使用rails console登录我的控制台并输入Sport.all(Sport是我的某个型号的名称),它显示仍有数据!

我做错了什么?

3 个答案:

答案 0 :(得分:1)

我在Patrik的链接中找到了答案。

这是因为我在Windows上,因为数据库可能被另一个进程使用,因此“Permission Denied”消息。我只需要确保没有其他进程使用数据库。

答案 1 :(得分:1)

如果您使用的是Linux和postgresql,则可以

sudo service postgresql restart

然后

rake db:reset

我认为使用mysql是

sudo service mysql restart

答案 2 :(得分:0)

我遇到了同样的问题。原因是因为我在我的IRB或控制台上运行rake db:reset。相反,我退出控制台并再次运行代码,它工作。也许Itll也适合你。