相关疑难解决方法(0)

使用外键Laravel错误删除列:常规错误:1025重命名时出错

我使用这样的迁移创建了一个表:

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');
}
Run Code Online (Sandbox Code Playgroud)

我需要更改此表并删除外键引用和列,pick_detail_id并添加一个名为skuafter pick_idcolumn 的新varchar 列.

所以,我创建了另一个迁移,看起来像这样:

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');
    });
}
Run Code Online (Sandbox Code Playgroud)

当我运行此迁移时,我收到以下错误:

[Illuminate\Database\QueryException]
SQLSTATE [HY000]:一般错误:1025将'./dev_iwms_reboot/despatch_discrepancies'重命名为'./dev_iwms_reboot/#sql2-67c-17c464'时出错(错误号:152)(SQL:alter table despatch_discrepancies删除外键pick_detail_id)

[PDOException]
SQLSTATE [HY000]:一般错误:1025将'./dev_iwms_reboot/despatch_discrepancies'重命名为'./dev_iwms_reboot/#sql2-67c-17c464'时出错(错误号:152)

当我尝试通过运行php artisan migrate:rollback命令来反转此迁移时,我收到一条Rolled back消息,但它实际上并没有在数据库中执行任何操作.

知道什么可能是错的吗?如何删除具有外键引用的列?

php database-migration laravel laravel-4

69
推荐指数
7
解决办法
6万
查看次数

Laravel和InnoDB

我正在使用laravel和laravel迁移机制.我创建了表并设置了外键.但表是MyISSAM,因此不会创建外键.我在哪里启用/配置它?(将其更改为InnoDB而不是mysql服务器).

php mysql innodb laravel

20
推荐指数
3
解决办法
2万
查看次数

标签 统计

laravel ×2

php ×2

database-migration ×1

innodb ×1

laravel-4 ×1

mysql ×1