🐣 データベースの初期化ができないWindows...
作成日: 2022/02/21
2

React上級コース、課題はすべて終わりデバッグの段階。「いったんデータベースを初期化して真っ新な状態にしましょう」てなわけで下記コマンドを実行するように言われたが...

$ bundle exec rails db:migrate:reset

Permission denied @ apply2files - C:/Users/***/Documents/uber-eats-like/db/development.sqlite3
Couldn't drop database 'db/development.sqlite3'
rails aborted!
Errno::EACCES: Permission denied @ apply2files - C:/Users/***/Documents/uber-eats-like/db/development.sqlite3

エラーが出やがりました。development.sqlite3をreset出来ません、とか。調べてみたところ「Windows環境では自らがアクセスしているファイルを削除することはできない」のが原因だとか。なにー。

というわけで解決方法、development.sqlite3を手動で削除する(笑)

//【1】dbファイル実体を削除
rm .\db\development.sqlite3

//【2】データベースの作成、初期化を実行
bin/rails db:setup

//【3】すべてのmigrationファイルをデータベースに反映
rails db:migrate

//【4】初期化されたデータベースにseedファイルから初期データを入力
bundle exec rails db:seed

※上記を実行する前にRails s(起動)してるサーバを閉じておくことを忘れないように。
しかし、受講最終段階で再びWindows環境で引っかかるとは... もう無いよね?

参考資料:
$ rails db:migrate:resetできないwindows
【Rails入門】データベースを設定するrails db:migrateを説明!


JavaScriptとSassと英語が好き。