Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro do MySQL ao criar chave estrangeira com migração do Laravel


A chave estrangeira já deve estar no banco de dados, portanto sugiro realizar duas etapas. Também sugiro fazer a coluna user_id não assinado:
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');
    });
}