Laravel的PHP工匠迁移不工作

问题描述 投票:4回答:4

当我尝试使用Laravel的PHP工匠迁移“我得到2个错误:

[照亮\数据库\ QueryException] SQLSTATE [HY000]:常规错误:26文件是加密的或不是数据库(SQL:SELECT * FROM SQLITE_MASTER其中type = '表' 和名字=迁移)

[PDOException] SQLSTATE [HY000]:常规错误:26文件是加密的或不是数据库

我尝试迁移之前创建的存储/ database.sqlite文件。我还编辑了的config / database.php中,使得default=sqlite。我使用Windows和已安装sqlite3

有没有人遇到过这种/知道如何让过去呢?

php sqlite laravel migrate artisan
4个回答
6
投票

我有同样的结果,在我的情况下/database/database.sqlite文件是不是空的。

我删除的内容重新运行php artisan migrate和迁移表已成功创建。


0
投票

PowerShell控制台下,在Windows中运行Laravel我得到同样的错误,原来的海报。文档读取使用的命令,比如触摸数据库/ database.sqlite创建一个新的SQLite数据库后... PowerShell的等价物触摸的是典型的OUT-文件文件名

PS D:\Learning\PHP-Laravel\database> out-file database.sqlite
PS D:\Learning\PHP-Laravel> php artisan migrate
   Illuminate\Database\QueryException  : SQLSTATE[HY000]: General error: 26 file is not a database...

当创建我的database.sqlite文件我收到这些错误。我删除了数据库,并使用新建项目命令重建它和它的工作正常

new-item -ItemType File -Name database.sqlite
PS D:\Learning\PHP-Laravel> php artisan migrate
Migration table created successfully.

0
投票

检查你作为.sqlite作出的文件,并确保它是空的,如果没有,那么让它空

database/db.sqlite 

然后运行迁移


0
投票

如果有人来到这里与在sqlite的分贝手动创建的表同样的错误 - 它可能是sqlite的版本不匹配。我通过清空数据库文件并重新创建表的getConnection()解决了同样的错误 - >语句(“CREATE TABLE

© www.soinside.com 2019 - 2024. All rights reserved.