alkhatib's avatar

Mysql error 1101 BLOB, TEXT, GEOMETRY or JSON

Hello! I have a problem when running the command

php artisan migrate

error

  SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'language' can't have a default value (SQL: create table `users` (`id` bigint unsigned not null auto_increment primary key, `name` varchar(255) null, `username` varchar(255) not null, `email` varchar(255) not null, `status` varchar(255) null, `seller` tinyint(1) not null default '0', `verified_account` tinyint(1) not null default '0', `country` varchar(255) null, `user_agent` varchar(255) null, `language` tinytext not null default 'en', `timezone` varchar(255) null default 'UTC', `last_login_at` timestamp null, `last_login_ip` varchar(255) null, `avatar` varchar(255) null, `provider` varchar(255) null, `email_verified_at` timestamp null, `password` varchar(255) not null, `remember_token` varchar(100) null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')

mysql -V

mysql  Ver 8.0.29-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))

users table

            $table->id();
            $table->string('name')->nullable();
            $table->string('username')->unique();
            $table->string('email')->unique();
            $table->string('status')->nullable();
            $table->boolean('seller')->default(false);
            $table->boolean('verified_account')->default(false);
            $table->string('country')->nullable();
            $table->string('user_agent')->nullable();
            $table->tinyText('language')->default('en');
            $table->string('timezone')->nullable()->default(config('app.timezone'));
            $table->timestamp('last_login_at')->nullable();
            $table->string('last_login_ip')->nullable();
            $table->string('avatar')->nullable();
            $table->string('provider')->nullable();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
0 likes
1 reply
alkhatib's avatar

The problem was in the column type "tinyText"

Please or to participate in this conversation.