我试图与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
并将其锁定?!
答案 0 :(得分:0)
好的,我找到了问题,但是我不知道原因吗?
我将主机(Windows)和来宾(Ubuntu)之间的同步文件夹的sync_type
从 smb 更改为默认,一切正常。
如果有人知道sync_type: smb
的原因,可以发布它。