I am trying to run a migration for a table inventories
that I have created with this migration:
Schema::
had the same problem. fixed it by adding nullable
to field
Schema::create('table_name', function (Blueprint $table) {
...
$table->integer('some_id')->unsigned()->nullable();
$table->foreign('some_id')->references('id')->on('other_table');
...
});
note that after migration all existed rows will have some_id = NULL
You probably have some records in the inventories
table with local_id
that does not have corresponding id
in the contents
table, hence the error. You could solve it by one of the two ways:
foreign_key_checks
turned off. This will disabled the foreign key constraints for the existing rows (if that's what you want). It's documented hereid
field in contents
table. You can use INSERT INTO.. WHERE EXISTS
query to filter the records out, and insert only those records.