J'ai l'erreur suivante "Attempt to write a readonly database" avec un site web Django après avoir remplacé la base de données.
L'application Django a été déployée sur un droplet digitalocean ubuntu utilisant Nginx et Gunicorn.
Table des matières
Modifier le propriétaire de la base de données
Le problème était que l'application django a été déployée sur un répertoire appartenant à un utilisateur appelé par exemple 'johndoe':
/home/johndoe/
cependant le propriétaire de la base de données était "root"
ls
donne
-rw-rw-r-- 1 root root 116928512 Sep 26 00:06 database_new.db
-rw-r--r-- 1 johndoe johndoe 116752384 Sep 26 02:07 database_old.db
pour résoudre ce problème, il suffit de changer le propriétaire de la base de données
sudo chown johndoe database.db
et l'erreur a été corrigée.
Origine de l'erreur
L'erreur était due au fait que j'ai utilisé l'utilisateur root pour scp la nouvelle base de données :
scp -rp database_new.db root@ip_address:/home/daidalos/johndoe/mysite/.
à la place de
scp -rp database_new.db johndoe@ip_address:/home/johndoe/webapps/mysite/.