php artisan随sqlite迁移引发错误,数据库被锁定

时间:2019-01-19 20:42:59

标签: laravel sqlite artisan artisan-migrate

我试图与Laravel和SQLite一起玩,但是每当我运行php artisan migrate时,我总是会遇到相同的错误:Illuminate\Database\QueryException : SQLSTATE[HY000]: General error: 5 database is locked (SQL: create table "migrations" ("id" integer not null primary key autoincrement, "migration" varchar not null, "batch" integer not null))

我尝试了所有选项,尝试以sudo php artisan migrate的身份运行命令,但还是没有运气。此外,我将目录和文件权限设置为777,仍然出现相同的错误。

我在主机为Windows 10,来宾为Ubuntu 16.04的游民机上运行Laravel,并使用推荐的同步方法sync_type: smb

我知道我可以使用MySQL或其他驱动程序,我只是想看看是否有人知道原因。

通过我尝试fuser database.sqlite的方式,它返回空值,这意味着没有其他进程在使用它。

我注意到的是,当我运行php artisan migrate时,也会创建一个新文件database.sqlite-journal,该文件也会在主机上同步,并且我在考虑是否有IDE PhpStrom或主机( Windows)正在使用临时database.sqlite-journal并将其锁定?!

1 个答案:

答案 0 :(得分:0)

好的,我找到了问题,但是我不知道原因吗?

我将主机(Windows)和来宾(Ubuntu)之间的同步文件夹的sync_type smb 更改为默认,一切正常。

如果有人知道sync_type: smb的原因,可以发布它。