I install laravel 5.5 and When I run php artisan migrate
show me this error
[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQ L: alter table
users
add uniqueusers_email_unique
(
And I add below code on AppServiceProvider.php
public function boot()
{
Schema::defaultStringLength(191); //Solved by increasing StringLength
}
And then show me this error
[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'created_at' (SQL: create table
password_resets
(token
varchar(191) not null,created_at
timestamp not null) de fault character set utf8mb4 collate utf8mb4_unicode_ci)
I'm currently using laravel 7.
I just go to config/database.php
Then I change strict => true
to strict => false
.
Then run the same migration again. It works.
my case
$table->timestamp('deleted_at')->nullable()->default(null);
this worked
You can use nullableTimestamps()
instead of timestamps()
or
$table->timestamp('created_at')->default(\DB::raw('CURRENT_TIMESTAMP'));
also check the database server version
Please have a look on these ref links:
https://github.com/laravel/framework/issues/3602
https://laracasts.com/discuss/channels/forge/syntax-error-or-access-violation-1067-invalid-default-value-for-created-at
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With