$ bundle exec rake db:reset command raising couldn

2019-03-12 15:05发布

I tried to run $ bundle exec rake db:reset and found the following on console

Couldn't drop db/development.sqlite3 : #<Errno::EACCES: Permission denied - c:/sample_app/db/development.sqlite3>
db/development.sqlite3 already exists
-- create_table("users", {:force=>true})
   -> 0.3940s
-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true})

   -> 0.1280s
-- initialize_schema_migrations_table()
   -> 0.0010s
-- assume_migrated_upto_version(20120419034627, ["c:/sample_app/db/migrate
"])
   -> 0.0040s

How can I solve it?

Edit I was following a tutorial and it tells me to run the above command to delete all the data from the database safely. And I am also using admin account.

5条回答
萌系小妹纸
2楼-- · 2019-03-12 15:46

Another possible answer is that you have a database file open. Close those files and stop your server, and it should work.

查看更多
The star\"
3楼-- · 2019-03-12 15:52

Have been trying to resolve the same issue. Stopping Rails Server on Windows didn't help, but restarting the whole environment did the trick, bundle exec rake db:reset went through, but be sure not to start your server before that as it will call the same error. Continue with

$ bundle exec rake db:reset
$ bundle exec rake db:populate
$ bundle exec rake test:prepare

and start Rails Server after that.

查看更多
你好瞎i
4楼-- · 2019-03-12 16:00

When you do db:reset, it's running db:drop and db:setup in sequence. Your error message indicates that db/development.sqlite couldn't be deleted.

If you're on Windows, maybe you need to stop your Rails server and console. Otherwise, figure out what's preventing the file from being deleted. It could be permission problem. A reboot may solve the problem too.

查看更多
爷、活的狠高调
5楼-- · 2019-03-12 16:01

I know this is an old post, but I just had this problem (continued sqlite3 issues with Windows), and while rebooting, shutting the command line, and stopping the server didn't work, I did manage to solve it by actually running each of the commands htanta mentioned above sequentially: 1. bundle exec rake db:drop 2. bundle exec rake db:create 3. bundle exec rake db:migrate

If db:reset is only these commands anyway, I don't understand why it doesn't work but the individual commands do?

查看更多
走好不送
6楼-- · 2019-03-12 16:08

For Dropping entire database just give rake db:setup it drops and again creates the database for you

查看更多
登录 后发表回答