sqlite3 - 无法打开数据库文件

时间:2012-01-19 20:26:51

标签: python django sqlite heroku

对于后台,我正在尝试将我的sqlite3本地数据库迁移到Heroku上的postgresql数据库。

通过我的(Django)开发服务器本地访问数据库没有问题。但是,当我尝试将数据库推送到Heroku时,它说它无法打开文件。

heroku db:push sqlite://path/to/db --confirm my-app-name

我收到以下消息:

Loaded Taps v0.3.23
Warning: Data in the app 'my-app-name' will be overwritten and will not be recoverable.
Failed to connect to database:
      Sequel::DatabaseConnectionError -> SQLite3::CantOpenException: could not open database: unable to open database file

我在Google上看到的大多数内容都与早期版本的Tap中的一些错误有关。否则,我不确定我应该在这做什么。

我已尝试遵循this question和其他人关于权限的建议,但我对文件和包含文件夹具有完全读写权限。我对权限不太熟悉 - 我是否需要将数据库的所有权转换为其他用户?

2 个答案:

答案 0 :(得分:1)

如果/ path / to / database是绝对路径,则需要执行以下操作:

heroku db:push sqlite:///path/to/db --confirm my-app-name

注意第三个斜线。它也可能是权限问题,在这种情况下,您要将所有者更改为当前用户,或者至少授予数据库读取权限(644)。

答案 1 :(得分:0)

我会尝试通过dumpdata将数据从sqlite3保存到fixture,然后在切换到postgres后,再次通过loaddata加载它。