Reputation: 81
When I try to use 'php artisan migrate' in Laravel I get 2 errors:
[Illuminate\Database\QueryException] SQLSTATE[HY000]: General error: 26 file is encrypted or is not a database (SQL: select * from sqlite_master where type = 'table' and name = migrations)
[PDOException] SQLSTATE[HY000]: General error: 26 file is encrypted or is not a database
I created a storage/database.sqlite file before attempting the migration. I also edited the config/database.php, making the default=sqlite
. I am using windows and have sqlite3
installed.
Has anyone encountered this/know how to get past it?
Upvotes: 8
Views: 9471
Reputation: 1
check if your .sqlite file is empty and the is no indentation(no spaces)
Upvotes: -1
Reputation: 67
If somebody came here with the same error with manually created table in sqlite db - it could be the sqlite version mismatch. I solved the same error by emptying db file and recreate the table with getConnection()->statement('CREATE TABLE
Upvotes: 0
Reputation: 11
Running Laravel in Windows under the Powershell console I was getting the same errors as the original poster. The documentation reads After creating a new SQLite database using a command such as touch database/database.sqlite... The Powershell equivalent of touch is typically 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...
When creating my database.sqlite file I received these errors. I deleted the database and recreated it using the New-Item command and it worked properly
new-item -ItemType File -Name database.sqlite
PS D:\Learning\PHP-Laravel> php artisan migrate
Migration table created successfully.
Upvotes: 1
Reputation: 3309
I had the same results, in my case the /database/database.sqlite
file was not empty.
I deleted the contents reran
php artisan migrate
and the migration table was created successfully.
Upvotes: 10