S. Hantz
S. Hantz

Reputation: 81

Laravel php artisan migrate not working

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

Answers (4)

Fibonacci Gramicci
Fibonacci Gramicci

Reputation: 1

check if your .sqlite file is empty and the is no indentation(no spaces)

Upvotes: -1

Sultan Dadakhanov
Sultan Dadakhanov

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

Tim D
Tim D

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

liamvictor
liamvictor

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

Related Questions