![](/img/trans.png)
[英]Laravel 5 php artisan migrate --database parameter not working
[英]Laravel php artisan migrate not working
當我嘗試在 Laravel 中使用 'php artisan migrate' 時,出現 2 個錯誤:
[Illuminate\\Database\\QueryException] SQLSTATE[HY000]: General error: 26 file is encrypted or not a database (SQL: select * from sqlite_master where type = 'table' and name = migrations)
[PDOException] SQLSTATE[HY000]:一般錯誤:26 文件已加密或不是數據庫
在嘗試遷移之前,我創建了一個 storage/database.sqlite 文件。 我還編輯了 config/database.php,使default=sqlite
。 我正在使用 Windows 並安裝了sqlite3
。
有沒有人遇到過這個/知道如何克服它?
我得到了相同的結果,就我而言,/ /database/database.sqlite
文件不為空。
我刪除了 reran php artisan migrate
的內容,並且成功創建了遷移表。
在 Windows 中的 Powershell 控制台下運行 Laravel 我遇到了與原始海報相同的錯誤。 文檔讀取使用諸如touch database/database.sqlite 之類的命令創建新的 SQLite 數據庫之后……與 touch 等效的 Powershell 通常是Out-File FILENAME
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命令重新創建它並且它正常工作
new-item -ItemType File -Name database.sqlite
PS D:\Learning\PHP-Laravel> php artisan migrate
Migration table created successfully.
檢查您作為.sqlite制作的文件,並確保它是空的,如果不是,則將其設為空
database/db.sqlite
然后運行遷移
如果有人在 sqlite db 中手動創建表時遇到相同的錯誤 - 可能是 sqlite 版本不匹配。 我通過清空 db 文件解決了同樣的錯誤並使用 getConnection()->statement('CREATE TABLE
檢查您的 .sqlite 文件是否為空並且沒有縮進(沒有空格)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.