Ruby on rails 雷克流产了!ActiveRecord::语句无效:SQLite3::ReadOnlyException
我正试图根据教程将一个应用程序部署到EC2。当我运行rake db:migrate时,出现以下错误:Ruby on rails 雷克流产了!ActiveRecord::语句无效:SQLite3::ReadOnlyException,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我正试图根据教程将一个应用程序部署到EC2。当我运行rake db:migrate时,出现以下错误: rake aborted! ActiveRecord::St
rake aborted!
ActiveRecord::StatementInvalid: SQLite3::ReadOnlyException: attempt to write a readonly database: CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
运行时ls-l
total 16
-rw-r--r-- 1 root root 0 Apr 16 03:55 development.sqlite3
drwxrwxr-x 2 ubuntu ubuntu 4096 Apr 16 03:48 migrate
-rw-rw-r-- 1 ubuntu ubuntu 5989 Apr 16 03:48 schema.rb
-rw-rw-r-- 1 ubuntu ubuntu 345 Apr 16 03:48 seeds.rb
-rw-r--r-- 1 ubuntu ubuntu 0 Apr 16 12:28 test.sqlite3
如果您在服务器上以开发模式运行(通常不是您想要做的,但对学习很有用),则需要修改sqlite数据库的权限。所以,如果你在EC2上运行ubuntu AMI(我想你是这样的),那么运行
sudo-chown-ubuntu:ubuntu-development.sqlite3
和sudo-chown-ubuntu:ubuntu-test.sqlite3
这会将拥有该文件的用户(chown=change owner)更改为ubuntu用户。如果您在服务器上以开发模式运行(通常不是您想要做的,但可能对学习有用),则需要修改sqlite数据库的权限。所以,如果你在EC2上运行ubuntu AMI(我想你是这样的),那么运行
sudo-chown-ubuntu:ubuntu-development.sqlite3
和sudo-chown-ubuntu:ubuntu-test.sqlite3
这会将拥有该文件的用户(chown=change owner)更改为ubuntu用户。只需稍微调整一下Peter响应,即可动态创建用户,并递归更改同一项目中其他文件的权限:
sudo chown -R $USER .
只需对Peter响应稍作调整,即可动态使用户,并递归更改同一项目中其他文件的权限:
sudo chown -R $USER .
sqlite文件的权限是什么?在
APP\u ROOT/db
目录中应该有一个my\u db.sqlite3
。要查看权限,请在db
目录下使用ls-l
,我更新了帖子。我现在应该怎么做?sqlite文件的权限是什么?在APP\u ROOT/db
目录中应该有一个my\u db.sqlite3
。要查看权限,请在db
目录下使用ls-l
,我更新了帖子。我现在该怎么办?