2016-03-06 3 views
0

В настоящее время у меня есть две таблицы Symbols и Prices. В настоящее время я создаю миграцию для Prices и добавляет ограничение FK к Prices.symbol_id, которое ссылается на Symbols.id. Это Prices миграция:Невозможно добавить ограничение внешнего ключа в Laravel Migrations

 $table->increments('id'); 
     ... 
     ... 
     $table->integer('symbol_id'); 
     $table->foreign('symbol_id') 
      ->references('id')->on('Symbols') 
      ->onDelete('cascade’); 

Symbols.id просто $table->increments(‘id’);

Однако, когда я бегу миграции, это то, что происходит:

[Illuminate\Database\QueryException]             
    SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter 
    table `Prices` add constraint prices_symbol_id_foreign foreign key (`symbol_id`) re 
    ferences `Symbols` (`id`))     

    [PDOException]               
     SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint 

Любые идеи, почему?

+0

Возможный дубликат [миграции: Невозможно добавить ограничение внешнего ключа в Laravel] (http://stackoverflow.com/questions/22615926/migration-not-add-foreign-key-constraint-in-laravel) –

ответ

1

сделать новую миграционную

php artisan make:migration update_prices_table 

Схема:

public function up() 
{ 
    Schema::table('Prices', function (Blueprint $table) { 
     $table->integer('symbol_id)->unsigned(); 
     $table->foreign('symbol_id') 
     ->references('id')->on('Symbols') 
     ->onDelete('cascade’); 
    }); 
} 
+1

Работал отлично :) Спасибо. – theGreenCabbage

Смежные вопросы