8

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?

1
  • Is there someone who can help with this? It is a massive stumbling block Commented Sep 24, 2015 at 0:25

4 Answers 4

10

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.

Sign up to request clarification or add additional context in comments.

2 Comments

Awesome! Glad you found a fix.I just abandoned sqlite and went back to mysql
i was having a new line in sqlite file, upon removing it worked, thanks
1

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.

Comments

0

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

Comments

-1

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

1 Comment

this is more of a comment

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.