【发布时间】:2018-05-29 20:42:29
【问题描述】:
我正在尝试删除一个 db.sqlite 文件,再次创建它,然后以相同的方法将一些信息插入到这个数据库中。这是我正在使用的方法:
public function destroy()
{
// Store all contents and delete the first one since this is created via seeder
$contents = $this->contents->all()->toArray();
array_shift($contents);
// Delete db file, creates it from an example file and changes permissions
system('rm -rf ../database/database.sqlite');
system('cp ../database/database.sqlite.example ../database/database.sqlite');
system('chmod 0777 ../database/');
system('chmod 0777 ../database/database.sqlite');
// Insert data
foreach ($contents as $content) {
$this->contents->create($content);
}
return response()->json(['message' => 'Data has been destroyed!']);
}
但是当我尝试运行它时,我得到了标题中描述的错误:
SQLSTATE[HY000]General Error: 8 attempt to write a readonly database
我正在按照其他问题的答案的建议设置文件和文件夹的 777 权限,所以我不知道为什么它不起作用。
【问题讨论】:
-
@MCMXCII 我几乎也将问题标记为同一个骗子,但问题提交者确实声明“我正在为文件和 文件夹 授予 777 权限”他们问题的最后一行。
-
@cteski 我的错,没看到。
标签: php linux laravel sqlite ubuntu