こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 Ruby on Railsで
1 |
rails db:drop |
などのrailsコマンドを実行したとき
1 2 3 4 5 6 7 8 9 10 |
Permission denied @ apply2files - C:/rails_study/sample/db/development.sqlite3 Couldn't drop database 'db/development.sqlite3' rails aborted! Errno::EACCES: Permission denied @ apply2files - C:/rails_study/sample/db/development.sqlite3 bin/rails:4:in `<main>' Tasks: TOP => db:drop:_unsafe (See full trace by running task with --trace) Couldn't drop database 'db/development.sqlite3' rails aborted! |
というエラーメッセージが表示されたときの原因と解決方法をお伝えします。
エラーが発生した原因
エラーメッセージ「Couldn’t drop database ‘db/development.sqlite3’ rails aborted!」が発生してしまった原因は、Rails自体のバグです。
Windows環境でのみ発生し、理由は自分がアクセスしてるファイルを削除できない、という仕様だからです。
Windows環境でこのようなエラーが出るコマンドは
- rails db:drop
- rails db:reset
- rails db:migrate:reset
の3種類あります。
Windows環境でデータベースを削除したい場合はどうすればよいのか、を次に書いていきます。
解決する方法
解決する方法は、手動でデータベースを削除することです!
削除するコマンドはカレントディレクトリがdbに位置している場合は
1 |
del development.sqlite3 |
をたたけば削除できます!
まとめ:エラーが出ても落ち着いて、対処しよう
以上がRuby on Railsで
- rails db:drop
- rails db:reset
- rails db:migrate:reset
コマンドを実行したとき
1 2 3 4 5 6 7 8 9 10 |
Permission denied @ apply2files - C:/rails_study/sample/db/development.sqlite3 Couldn't drop database 'db/development.sqlite3' rails aborted! Errno::EACCES: Permission denied @ apply2files - C:/rails_study/sample/db/development.sqlite3 bin/rails:4:in `<main>' Tasks: TOP => db:drop:_unsafe (See full trace by running task with --trace) Couldn't drop database 'db/development.sqlite3' rails aborted! |
というエラーメッセージが表示されたときの原因と解決策でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント