首页 > 解决方案 > 外键 Laravel 8 的迁移表

问题描述

添加外键并执行 php artisan migrate 时我遇到了问题:fresh

有错误

("SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'id_rso'")

这是我的迁移表:

public function up()
    {   
        Schema::enableForeignKeyConstraints();
        Schema::create('dso', function (Blueprint $table) {
            $table->string('id_dso',30);
            $table->unsignedBigInteger('id_rso');
            $table->foreignId('id_rso')->constrained('rso');
            $table->smallInteger('id_focus');
            $table->smallInteger('id_wilayah');
            $table->smallInteger('id_grup_wilayah');
            $table->string('nama_dso',50);
            $table->string('created_by',50)->nullable();
            $table->timestamp('created_date',$precision = 0);
            $table->string('modified_by',50)->nullable();
            $table->timestamp('modified_date',$precision = 0)->nullable()->default(null);
            $table->boolean('status')->default(true);
            $table->timestamps();
            $table->primary('id_dso');
        });
    }

我正在将 mysql 用于数据库和 laravel 8

标签: phplaravelforeign-keys

解决方案


$table->unsignedBigInteger('id_rso');
$table->foreignId('id_rso')->constrained('rso');

而不是这个,只需写:

$table->foreignId('id_rso')->constrained('rso');

推荐阅读