rails db:migrate:resetを実行した際、以下の結果が表示されました。
PS D:\Users\Desktop\myblog> rails db:migrate:reset Permission denied @ unlink_internal - D:/Users/Desktop/myblog/db/development.sqlite3 Couldn't drop database 'db/development.sqlite3' rails aborted! Errno::EACCES: Permission denied @ unlink_internal - D:/Users/Desktop/myblog/db/development.sqlite3 bin/rails:4:in `require' bin/rails:4:in `<main>' Tasks: TOP => db:drop:_unsafe (See full trace by running task with --trace)
アクセス拒否とのことなのですが、どのようにすればいいのかさっぱりです。。。
開発環境は
- windows10
- ruby 2.4.2
- rails 5.1.4
- sqlite3 3.21.0
となっています。
また、db/development.sqlite3の中身は空です。
データベースのリセットは、rails db:drop_safeにて出来ているのですが、訳すと安全ではないとの意味なので、これもまたどのように安全ではないのかもわからない状態です。
どなたか知恵をお貸しいただけると幸いです!
※追記
goufさんアドバイスにより、db/development.sqlite3を消して再度マイグレートしてみるも、状況変わらずです…
ただ、入れなおしてからファイルを開こうとすると、『このファイルはバイナリか、非常に大きいか、またはサポートされてないテキストエンコードを使用しているため、表示できません』と出るようになりました(エディタはVSCodeです)。
また、D/Ruby24-x64/bin/内のsqlite3.exeも入れなおしましたが変わりませんでした。
心配なのは、sqlite3.exeは https://sqlite.org/download.html の sqlite-tools-win32-x86-3210000.zip から持ってきたのですが、恐らく32bit用のファイルのため上手いことならないのかもしれないです。
CHERRYさん(編集済み)
更に追加コメントありがとうございます!sqlite3コマンドで開くのでしたか!
改めて実行した結果を以下に載せます!
PS D:\Users\Desktop\myblog> sqlite3 .\db\development.sqlite3 SQLite version 3.21.0 2017-10-24 18:55:49 Enter ".help" for usage hints. sqlite> .dump PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE IF NOT EXISTS "schema_migrations" ("version" varchar NOT NULL PRIMARY KEY); INSERT INTO schema_migrations VALUES('20171205061041'); CREATE TABLE IF NOT EXISTS "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL); INSERT INTO ar_internal_metadata VALUES('environment','development','2017-12-05 11:28:50.396134','2017-12-05 11:28:50.396134'); CREATE TABLE IF NOT EXISTS "posts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar, "body" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL); DELETE FROM sqlite_sequence; COMMIT;
確かに、こうすれば文字化けが起きないですね!勉強になりました!
あなたの回答
tips
プレビュー