Laravel 4では、移行に外部キー制約を追加するにはどうすればよいですか?
mytable
( を参照する)の移行ではforeigntable
:
// add Column
$table
->string( 'foreigntable_id', 6 );
// add FK
$table
->foreign( 'foreigntable_id' )
->references( 'id' )
->on( 'foreigntable' );
エラー:
[Exception]
SQLSTATE[HY000]: General error: 1005 Can't create table 'mydb.#sql-1a24_2
1a' (errno: 150) (SQL: alter table `mytable` add constraint
mytable_foreigntable_id_foreign foreign key (`foreigntable_id`) references
`foreigntable` (`id`)) (Bindings: array (
))
問題は、foreigntable
MySQL が外部キー制約を追加しようとするときに存在しないことだと思いmytable
ます (作成する移行は、移行が終了した後foreigntable
にのみ実行されるため)。mytable
どうすればこの問題を回避できますか?