当我尝试在Laravel中使用'php artisan migrate'时,我得到2个错误:
[Illuminate\Database\QueryException] SQLSTATE[HY000]:一般错误:26文件已加密或不是数据库(SQL:select * from sqlite_master where type = 'table' and name = migrations)
[PDOException] SQLSTATE[HY000]:一般错误:26文件已加密或不是数据库
在尝试迁移之前,我创建了一个storage/database.sqlite文件。我还编辑了database.php,使default=sqlite
。我使用的是windows,安装了sqlite3
。
有没有人遇到过这种情况/知道如何克服它?
4条答案
按热度按时间xsuvu9jc1#
我得到了相同的结果,在我的情况下,
/database/database.sqlite
文件不是空的。我删除了重新运行
php artisan migrate
的内容,并成功创建了迁移表。ou6hu8tu2#
在Powershell控制台下在Windows中运行Laravel,我得到了与原始海报相同的错误。文档内容如下:* 在使用诸如touch database/database.sqlite之类的命令创建新的SQLite数据库后,*.
当创建我的数据库.sqlite文件时,我收到了这些错误。我删除了数据库,并使用New-Item命令重新创建了它,它工作正常
wnrlj8wa3#
如果有人在sqlite db中手动创建表时出现相同的错误-可能是sqlite版本不匹配。我通过清空数据库文件并使用getConnection()->语句('CREATETABLE')重新创建表来解决相同的错误
de90aj5v4#
检查你的.sqlite文件是否为空,是否没有缩进(没有空格)