【发布时间】:2012-09-30 12:48:05
【问题描述】:
我正在尝试使用 delayed_job 来使用 Sqlite3 安排任务,看起来 apache 无法读取我的 production.sqlite3 文件。
这是我的database.yml:
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
这是我遇到的错误(在 log/production.log 中):
ActiveRecord::StatementInvalid (SQLite3::CantOpenException: unable to open database file:)
我已经运行了RAILS_ENV=production rake db:create 和RAILS_ENV=production rake db:migrate。 db/production.sqlite3 文件存在,db 目录及其所有子文件夹归 apache:apache 所有,这是 apache 运行的对象。我在 Amazon EC2 上使用 Phusion Passenger。
【问题讨论】:
-
我切换到使用 PostgreSQL,它似乎运行良好。我仍然不知道为什么 SQLite 3 不起作用。
-
不。我放弃了,改用 PostgreSQL。
-
当您使用 Phusion Passenger 时,为什么用户 apache:apache 应该读取数据库文件?你有没有检查过文件是否在生产中-> db/production.sqlite3?
-
@awenkhh 文件实际存在。
标签: sql ruby-on-rails ruby-on-rails-3 sqlite amazon-ec2