Код: Выделить всё
public function up()
{
Schema::create('despatch_discrepancies', function($table) {
$table->increments('id')->unsigned();
$table->integer('pick_id')->unsigned();
$table->foreign('pick_id')->references('id')->on('picks');
$table->integer('pick_detail_id')->unsigned();
$table->foreign('pick_detail_id')->references('id')->on('pick_details');
$table->integer('original_qty')->unsigned();
$table->integer('shipped_qty')->unsigned();
});
}
public function down()
{
Schema::drop('despatch_discrepancies');
}
Итак, я создал еще одну миграцию, которая выглядит следующим образом:
Код: Выделить всё
public function up()
{
Schema::table('despatch_discrepancies', function($table)
{
$table->dropForeign('pick_detail_id');
$table->dropColumn('pick_detail_id');
$table->string('sku', 20)->after('pick_id');
});
}
public function down()
{
Schema::table('despatch_discrepancies', function($table)
{
$table->integer('pick_detail_id')->unsigned();
$table->foreign('pick_detail_id')->references('id')->on('pick_details');
$table->dropColumn('sku');
});
}
[ Illuminate\Database\QueryException]
SQLSTATE[HY000]: Общая ошибка: 1025 Ошибка при переименовании
'./dev_iwms_reboot/despatch_discrepancies' в
'./dev_iwms_reboot/#sql2 -67c-17c464' (ошибка: 152) (SQL: изменить таблицу
despatch_discrepancies удалить внешний ключ Pick_detail_id)
[PDOException]
SQLSTATE[HY000]: Общая ошибка: 1025 Ошибка при переименовании
'./dev_iwms_reboot/despatch_discrepancies' в
'./dev_iwms_reboot/#sql2-67c-17c464' (ошибка: 152) )
Когда я пытаюсь отменить эту миграцию, выполнив команду php artisanmigrate:rollback, я получаю откат< /code> сообщение, но на самом деле оно ничего не делает с базой данных.
Есть идеи, что может быть не так? Как удалить столбец, имеющий ссылку на внешний ключ?
Подробнее здесь: https://stackoverflow.com/questions/271 ... ror-on-ren
Мобильная версия