sql >> Base de Datos >  >> RDS >> Mysql

Error de MySQL al crear una clave externa con la migración de Laravel

La clave externa ya debería estar en la base de datos, por lo tanto, sugiero seguir dos pasos. También sugiero hacer la columna user_id sin firmar:

public function up()
{
    Schema::table('posts', function(Blueprint $table)
    {
        $table->integer('user_id')->after('id')->nullable()->unsigned();
    });

    Schema::table('posts', function(Blueprint $table)
    {
        $table->foreign('user_id')->references('id')->on('users');
    });
}