【问题标题】:Changing location of sqlite database on rpi running django在运行 django 的 rpi 上更改 sqlite 数据库的位置
【发布时间】:2018-11-09 20:17:47
【问题描述】:

我正在树莓派上运行一个 django 项目,并希望将数据库移动到已连接的外部硬盘驱动器上。我的设置如下所示:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': '/mnt/MOCStorage/database.db,
    }
}

当我运行 manage.py migrate 时,我得到这个错误:

django.db.utils.OperationalError: unable to open database file

我已将驱动器挂载到/mnt/MOCStorage,并使用chmod将/mnt和/mnt/MOCStorage的权限更改为775。

我怎样才能让这个数据库在这里工作?

【问题讨论】:

  • 我现在不知道这是否属实,但回到过去 sqlite 在数据库文件所在的同一目录中创建日志文件。这意味着运行 manage.py 的用户也需要对父目录具有写权限。
  • 两个目录都应该是可写的。我在两个目录上都尝试了 chmod 777,但仍然没有任何工作。

标签: python django sqlite web raspberry-pi


【解决方案1】:

看起来你错过了结束语:

'NAME': '/mnt/MOCStorage/database.db,

应改为:

'NAME': '/mnt/MOCStorage/database.db',

但是我怀疑这应该会引发与您提到的错误不同的错误,并且此错误可能只是在您的报价中。

在这种情况下,可以尝试touch /mnt/MOCStorage/database.db 作为 webapp 用户来确认写入权限。

【讨论】:

    猜你喜欢
    • 2021-08-31
    • 1970-01-01
    • 2013-04-26
    • 2014-02-15
    • 2012-04-15
    • 2012-05-06
    • 2017-05-26
    • 1970-01-01
    • 2012-01-13
    相关资源
    最近更新 更多