Acabo de implementar mi aplicación en DigitalOcean usando (Base de datos administrada) y recibo el siguiente error cuando llamo a php artisan migrate
SQLSTATE[HY000]: General error: 3750 Unable to create or change a table without a primary key, when the system variable 'sql_require_primary_key' is set. Add a primary key to the table or unset this variable to avoid this message. Note that tables without a primary key can cause performance problems in row-based replication, so please consult your DBA before changing this setting. (SQL: create table `sessions` (`id` varchar(255) not null, `user_id` bigint unsigned null, `ip_address` varchar(45) null, `user_agent` text null, `payload` text not null, `last_activity` int not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')
Parece que Laravel Migrations no funciona cuando mysql var sql_require_primary_key se establece en verdadero.
¿Tienes alguna solución para eso?
Estaba tratando de solucionar este problema con una importación a DO Managed MySQL usando un archivo mysqldump desde una instalación de WordPress. Descubrí que agregar esto en la parte superior del archivo funcionó para mi importación.
SET @ORIG_SQL_REQUIRE_PRIMARY_KEY = @@SQL_REQUIRE_PRIMARY_KEY; SET SQL_REQUIRE_PRIMARY_KEY = 0;Luego importé usando JetBrains DataGrip y funcionó sin errores.
Simplemente agregue set sql_require_primary_key = off Me gusta esto

a su archivo SQL.
Agregue su primera migración:
\Illuminate\Support\Facades\DB::statement('SET SESSION sql_require_primary_key=0'); Interior: Función Schema::create() .