当我尝试使用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
。
有没有人遇到过这种/知道如何让过去呢?
我有同样的结果,在我的情况下/database/database.sqlite
文件是不是空的。
我删除的内容重新运行php artisan migrate
和迁移表已成功创建。
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.
检查你作为.sqlite作出的文件,并确保它是空的,如果没有,那么让它空
database/db.sqlite
然后运行迁移
如果有人来到这里与在sqlite的分贝手动创建的表同样的错误 - 它可能是sqlite的版本不匹配。我通过清空数据库文件并重新创建表的getConnection()解决了同样的错误 - >语句(“CREATE TABLE